diff --git a/lib/translator/src/Events/ScormScoreRawSubmitted.php b/lib/translator/src/Events/ScormScoreRawSubmitted.php
index 8b601eb1937e72b7d81a51f4bf8f28eaa687dccb..379bb356c0e3a20830fb2667c1dea1f02ad08843 100644
--- a/lib/translator/src/Events/ScormScoreRawSubmitted.php
+++ b/lib/translator/src/Events/ScormScoreRawSubmitted.php
@@ -26,12 +26,24 @@ class ScormScoreRawSubmitted extends ScormEvent {
      * @override ModuleViewed
      */
     public function read(array $opts) {
-        $scoremax = $opts['scorm_scoes_track']['scoremax'];
-        $scoreraw = $opts['cmi_data']['cmivalue'];
-        $scoremin = $opts['scorm_scoes_track']['scoremin'];
+        $scoremax = null;
+        $scoreraw = null;
+        $scoremin = null;
         $scorescaled = null;
 
-        $scorescaled = $scoreraw >= 0 ? ($scoreraw / $scoremax) : ($scoreraw / $scoremin);
+        if (isset($opts['scorm_scoes_track']['scoremax'])) {
+            $scoremax = $opts['scorm_scoes_track']['scoremax'];
+        }
+        if (isset($opts['cmi_data']['cmivalue'])) {
+            $scoremax = $opts['cmi_data']['cmivalue'];
+        }
+        if (isset($opts['scorm_scoes_track']['scoremin'])) {
+            $scoremin = $opts['scorm_scoes_track']['scoremin'];
+        }
+
+        if ($scoremax !=0 && $scoremin !=0) {
+            $scorescaled = $scoreraw >= 0 ? ($scoreraw / $scoremax) : ($scoreraw / $scoremin);
+        }
 
         return [array_merge(parent::read($opts)[0], [
             'recipe' => 'scorm_scoreraw_submitted',