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);
 			}
 		}