diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
index e0ddd1a21eff2611f84fe76a983a9deafbfd2c8e..95767e75ece442f5f172222fdf3d6dad3fb47950 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
@@ -37,8 +37,7 @@ import org.olat.core.gui.translator.Translator;
 public class ExportableFlexiTableDataModelDelegate  {
 	
 	public MediaResource export(FlexiTableComponent ftC, Translator translator) {
-		FlexiTableDataModel<?> dataModel = ftC.getFlexiTableElement().getTableDataModel();
-		List<FlexiColumnModel> columns = getColumnModels(dataModel);
+		List<FlexiColumnModel> columns = getColumnModels(ftC.getFlexiTableElement());
 		return export(ftC, columns, translator);
 	}
 	
@@ -47,13 +46,14 @@ public class ExportableFlexiTableDataModelDelegate  {
 		return exporter.export(ftC, columns, translator);
 	}
 	
-	protected List<FlexiColumnModel> getColumnModels(FlexiTableDataModel<?> delegate) {
-		FlexiTableColumnModel columnModel = delegate.getTableColumnModel();
+	private final List<FlexiColumnModel> getColumnModels(FlexiTableElementImpl tableEl) {
+		FlexiTableDataModel<?> dataModel = tableEl.getTableDataModel();
+		FlexiTableColumnModel columnModel = dataModel.getTableColumnModel();
 		int numOfColumns = columnModel.getColumnCount();
 		List<FlexiColumnModel> columns = new ArrayList<>(numOfColumns);
 		for(int i=0; i<numOfColumns; i++) {
 			FlexiColumnModel column = columnModel.getColumnModel(i);
-			if(column.isDefaultVisible() && column.isExportable()) {
+			if((column.isDefaultVisible() || tableEl.isColumnModelVisible(column)) && column.isExportable()) {
 				columns.add(column);
 			}
 		}
diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
index 0831138d1f5346cd8116c1112a2bf71cd7704225..f1605e49287f2b7292988e05ca28fc40ed80c5f8 100644
--- a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
+++ b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
@@ -97,7 +97,6 @@ public class ScormEditController extends ActivateableTabbableDefaultController i
 	public static final String CONFIG_CUTVALUE = "cutvalue";
 	
 	public static final String CONFIG_DELIVERY_OPTIONS = "deliveryOptions";
-	//fxdiff FXOLAT-116: SCORM improvements
 	public final static String CONFIG_FULLWINDOW = "fullwindow";
 	public final static String CONFIG_CLOSE_ON_FINISH = "CLOSEONFINISH";
 	
@@ -202,7 +201,6 @@ public class ScormEditController extends ActivateableTabbableDefaultController i
 		boolean advanceScore = config.getBooleanSafe(CONFIG_ADVANCESCORE, true);
 		// </OLATCE-289>
 		int cutvalue = config.getIntegerSafe(CONFIG_CUTVALUE, 0);
-		//fxdiff FXOLAT-116: SCORM improvements
 		boolean fullWindow = config.getBooleanSafe(CONFIG_FULLWINDOW, true);
 		boolean closeOnFinish = config.getBooleanSafe(CONFIG_CLOSE_ON_FINISH, false);
 		
@@ -308,13 +306,11 @@ public class ScormEditController extends ActivateableTabbableDefaultController i
 				//save form-values to config
 				
 				config.setBooleanEntry(CONFIG_SHOWMENU, scorevarform.isShowMenu());
-				//fxdiff FXOLAT-322
 				config.setBooleanEntry(CONFIG_SKIPLAUNCHPAGE, scorevarform.isSkipLaunchPage());
 				config.setBooleanEntry(CONFIG_SHOWNAVBUTTONS, scorevarform.isShowNavButtons());
 				config.setBooleanEntry(CONFIG_ISASSESSABLE, scorevarform.isAssessable());
 				config.setStringValue(CONFIG_ASSESSABLE_TYPE, scorevarform.getAssessableType());
 				config.setIntValue(CONFIG_CUTVALUE, scorevarform.getCutValue());
-				//fxdiff FXOLAT-116: SCORM improvements
 				config.setBooleanEntry(CONFIG_FULLWINDOW, scorevarform.isFullWindow());
 				config.setBooleanEntry(CONFIG_CLOSE_ON_FINISH, scorevarform.isCloseOnFinish());
 				// <OLATCE-289>
@@ -408,17 +404,17 @@ public class ScormEditController extends ActivateableTabbableDefaultController i
 class VarForm extends FormBasicController {
 	private SelectionElement showMenuEl;
 	private SelectionElement showNavButtonsEl;
-	private SelectionElement fullWindowEl;//fxdiff FXOLAT-116: SCORM improvements
-	private SelectionElement closeOnFinishEl;//fxdiff FXOLAT-116: SCORM improvements
+	private SelectionElement fullWindowEl;
+	private SelectionElement closeOnFinishEl;
 	private SelectionElement isAssessableEl;
-	private SelectionElement skipLaunchPageEl; //fxdiff FXOLAT-322 : skip start-page / auto-launch
+	private SelectionElement skipLaunchPageEl;
 	private IntegerElement cutValueEl;
 	
 	private boolean showMenu, showNavButtons, skipLaunchPage;
 	private String assessableType;
 	private int cutValue;
-	private boolean fullWindow;//fxdiff FXOLAT-116: SCORM improvements
-	private boolean closeOnFinish;//fxdiff FXOLAT-116: SCORM improvements
+	private boolean fullWindow;
+	private boolean closeOnFinish;
 	private String[] assessableKeys, assessableValues;
 
 	// <OLATCE-289>
@@ -447,7 +443,6 @@ class VarForm extends FormBasicController {
 		this.showNavButtons = showNavButtons;
 		this.assessableType = assessableType;
 		this.cutValue = cutValue;
-		//fxdiff FXOLAT-116: SCORM improvements
 		this.fullWindow = fullWindow;
 		this.closeOnFinish = closeOnFinish;
 		
@@ -472,11 +467,11 @@ class VarForm extends FormBasicController {
 	public int getCutValue() {
 		return cutValueEl.getIntValue();
 	}
-	//fxdiff FXOLAT-116: SCORM improvements
+	
 	public boolean isFullWindow() {
 		return fullWindowEl.isMultiselect() && fullWindowEl.isSelected(0);
 	}
-	//fxdiff FXOLAT-116: SCORM improvements
+	
 	public boolean isCloseOnFinish() {
 		return closeOnFinishEl.isMultiselect() && closeOnFinishEl.isSelected(0);
 	}
@@ -508,8 +503,6 @@ class VarForm extends FormBasicController {
 		return null;
 	}
 	
-
-	
 	@Override
 	protected void formOK(UserRequest ureq) {
 		fireEvent (ureq, Event.DONE_EVENT);
@@ -518,7 +511,17 @@ class VarForm extends FormBasicController {
 	@Override
 	protected boolean validateFormLogic(UserRequest ureq) {
 		boolean allOk = true;
-
+		
+		cutValueEl.clearError();
+		if(cutValueEl.isVisible() && cutValueEl.isEnabled() && StringHelper.containsNonWhitespace(cutValueEl.getValue())) {
+			try {
+				Integer.parseInt(cutValueEl.getValue());
+			} catch (NumberFormatException e) {
+				cutValueEl.setErrorKey("cutvalue.validation", null);
+				allOk &= false;
+			}
+		}
+		
 		return allOk && super.validateFormLogic(ureq);
 	}
 
@@ -534,7 +537,6 @@ class VarForm extends FormBasicController {
 		
 		showNavButtonsEl = uifactory.addCheckboxesHorizontal("shownavbuttons", "shownavbuttons.label", formLayout, new String[]{"xx"}, new String[]{null});
 		showNavButtonsEl.select("xx", showNavButtons);
-		//fxdiff FXOLAT-116: SCORM improvements
 		fullWindowEl = uifactory.addCheckboxesHorizontal("fullwindow", "fullwindow.label", formLayout, new String[]{"fullwindow"}, new String[]{null});
 		fullWindowEl.select("fullwindow", fullWindow);