diff --git a/src/main/java/org/olat/modules/scorm/OLATApiAdapter.java b/src/main/java/org/olat/modules/scorm/OLATApiAdapter.java
index b54821c86c88201ec0e5a53b4a0fb2a8a57e0a26..5684eb5cdef71e827312020f9cfc05ecc45939fc 100644
--- a/src/main/java/org/olat/modules/scorm/OLATApiAdapter.java
+++ b/src/main/java/org/olat/modules/scorm/OLATApiAdapter.java
@@ -308,10 +308,15 @@ public	class OLATApiAdapter extends LogDelegator implements ch.ethz.pfplms.scorm
 			// </OLATCE-289>
 		}
 		
-		lmsDataBean.setDataAsMap(cmiData);
-		odatahandler = new LMSDataHandler(scormManager, lmsDataBean, scormSettingsHandler);
-		odatahandler.updateCMIData(olatScoId);
-		return "true";
+		try {
+			lmsDataBean.setDataAsMap(cmiData);
+			odatahandler = new LMSDataHandler(scormManager, lmsDataBean, scormSettingsHandler);
+			odatahandler.updateCMIData(olatScoId);
+			return "true";
+		} catch (Exception e) {
+			logError("Error during commit", e);
+			return "false";
+		}
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/modules/scorm/server/beans/LMSDataHandler.java b/src/main/java/org/olat/modules/scorm/server/beans/LMSDataHandler.java
index a367de0ae4857964c67fac43d51d08b50b734f00..07086e85837bfadded488976e0e2405540e44084 100644
--- a/src/main/java/org/olat/modules/scorm/server/beans/LMSDataHandler.java
+++ b/src/main/java/org/olat/modules/scorm/server/beans/LMSDataHandler.java
@@ -118,6 +118,9 @@ public class LMSDataHandler {
 			// next update the model with the results from browser.
 			// updateClientModel(itemId, cmiStrings);
 			// update prerequisite table
+			if(status == null) {
+				status = SequencerModel.ITEM_NOT_ATTEMPTED;
+			}
 			addtoPrereqTable(itemId, status, true);
 			// If an LMSFinish() was made by the sco then we do not need to update
 			// anything client side