diff --git a/src/main/java/org/olat/ims/_spring/imsContext.xml b/src/main/java/org/olat/ims/_spring/imsContext.xml
index 142f2764eabd0cfbc566588dbfa0a67d5188f795..09311f8f0fb1fb3bd912490e37397ef0d27fe367 100644
--- a/src/main/java/org/olat/ims/_spring/imsContext.xml
+++ b/src/main/java/org/olat/ims/_spring/imsContext.xml
@@ -14,4 +14,24 @@
 
 	<bean id="org.olat.ims.cp.CPManager" class="org.olat.ims.cp.CPManagerImpl"/> 
 	
+	<!-- QTI 2.1 admin. panel -->
+	<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
+		<property name="order" value="8209" />
+		<property name="actionController">	
+			<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
+				<property name="className" value="org.olat.ims.qti21.ui.QTI21AdminController"/>
+			</bean>
+		</property>
+		<property name="navigationKey" value="qti21" />
+		<property name="i18nActionKey" value="admin.menu.title"/>
+		<property name="i18nDescriptionKey" value="admin.menu.title.alt"/>
+		<property name="translationPackage" value="org.olat.ims.qti21.ui"/>
+		<property name="parentTreeNodeIdentifier" value="modulesParent" /> 
+		<property name="extensionPoints">
+			<list>	
+				<value>org.olat.admin.SystemAdminMainController</value>		
+			</list>
+		</property>
+	</bean>
+	
 </beans>
\ No newline at end of file
diff --git a/src/main/java/org/olat/ims/qti21/QTI21Module.java b/src/main/java/org/olat/ims/qti21/QTI21Module.java
index 45c683dd40d7eb4cf59cff93e93d6dd17c59f776..672fb4e4f5939b668683905d2b17c49af0f4e7e8 100644
--- a/src/main/java/org/olat/ims/qti21/QTI21Module.java
+++ b/src/main/java/org/olat/ims/qti21/QTI21Module.java
@@ -20,6 +20,7 @@
 package org.olat.ims.qti21;
 
 import org.olat.core.configuration.AbstractSpringModule;
+import org.olat.core.util.StringHelper;
 import org.olat.core.util.coordinate.CoordinatorManager;
 import org.olat.ims.qti21.repository.handlers.QTI21AssessmentTestHandler;
 import org.olat.repository.handlers.RepositoryHandlerFactory;
@@ -39,7 +40,7 @@ public class QTI21Module extends AbstractSpringModule {
 	@Autowired
 	private QTI21AssessmentTestHandler assessmentHandler;
 	
-	@Value("${qti21.math.assessment.extension.enabled:true}")
+	@Value("${qti21.math.assessment.extension.enabled:false}")
 	private boolean mathAssessExtensionEnabled;
 	
 	@Autowired
@@ -52,23 +53,23 @@ public class QTI21Module extends AbstractSpringModule {
 		RepositoryHandlerFactory.registerHandler(assessmentHandler, 10);
 		//Saxon is mandatory, JQTI need XSLT 2.0
 		//XsltFactoryUtilities.SAXON_TRANSFORMER_FACTORY_CLASS_NAME;
+		initFromChangedProperties();
 	}
 
 	@Override
 	protected void initFromChangedProperties() {
-		//
+		String mathExtensionObj = getStringPropertyValue("math.extension", true);
+		if(StringHelper.containsNonWhitespace(mathExtensionObj)) {
+			mathAssessExtensionEnabled = "enabled".equals(mathExtensionObj);
+		}
 	}
 
 	public boolean isMathAssessExtensionEnabled() {
 		return mathAssessExtensionEnabled;
 	}
 
-	public void setMathAssessExtensionEnabled(boolean mathAssessExtensionEnabled) {
-		this.mathAssessExtensionEnabled = mathAssessExtensionEnabled;
+	public void setMathAssessExtensionEnabled(boolean enabled) {
+		mathAssessExtensionEnabled = enabled;
+		setStringProperty("math.extension", enabled ? "enabled" : "disabled", true);
 	}
-	
-	
-	
-	
-
 }
diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21AdminController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21AdminController.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f3c58a3850ee812070cdceaf37da6e9d1a5c05e
--- /dev/null
+++ b/src/main/java/org/olat/ims/qti21/ui/QTI21AdminController.java
@@ -0,0 +1,91 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.ims.qti21.ui;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.form.flexible.FormItem;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.components.form.flexible.impl.FormEvent;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.ims.qti21.QTI21Module;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * Administration for system-wide settings.
+ * 
+ * Initial date: 25.08.2016<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class QTI21AdminController extends FormBasicController {
+
+	private static final String[] mathExtensionKeys = new String[]{ "on" };
+	
+	private MultipleSelectionElement mathExtensionEl;
+	
+	@Autowired
+	private QTI21Module qtiModule;
+	
+	public QTI21AdminController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl);
+		
+		initForm(ureq);
+	}
+
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		setFormTitle("admin.title");
+		
+		String[] mathExtensionValues = new String[]{ "" };
+		mathExtensionEl = uifactory.addCheckboxesHorizontal("math.extension", "math.extension", formLayout,
+				mathExtensionKeys, mathExtensionValues);
+		if(qtiModule.isMathAssessExtensionEnabled()) {
+			mathExtensionEl.select(mathExtensionKeys[0], true);
+		}
+		mathExtensionEl.setExampleKey("math.extension.text", null);
+		mathExtensionEl.addActionListener(FormEvent.ONCHANGE);
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+	
+	@Override
+	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
+		if(mathExtensionEl == source) {
+			qtiModule.setMathAssessExtensionEnabled(mathExtensionEl.isSelected(0));
+		}
+		super.formInnerEvent(ureq, source, event);
+	}
+
+	@Override
+	protected void formOK(UserRequest ureq) {
+		//
+	}
+
+
+	
+	
+
+}
diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties
index c8d57d7b3691b6cd9ee7fc1f84886eabfeebe5e3..5893364a2634e30dca35529a7258dee628c6e48e 100644
--- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties
@@ -1,5 +1,8 @@
 #Tue Aug 23 10:37:11 CEST 2016
 actualPoints=$org.olat.modules.iq\:actualPoints
+admin.title=QTI 2.1 Einstellungen
+admin.menu.title=QTI 2.1
+admin.menu.title.alt=QTI 2.1 Einstellungen
 anonym.not.allowed.descr=Anonym Benutzer d\u00FCrfen diesen Test nicht durchf\u00FChren
 anonym.not.allowed.title=Anonym Benutzer
 anonym.user=Anonym Benutzer
@@ -69,6 +72,8 @@ interaction.order.drag.msg=Ziehen Sie die nicht verwendete Elemente von hier...
 interaction.order.drop.msg=Drop and order your selected items here...
 interaction.order.source=Quelle
 interaction.order.target=Ziel
+math.extension=QtiWorks Math extension
+math.extension.text=Braucht Maxima auf dem Server
 menu.reset.title=Testdaten zur\u00FCcksetzen
 menu.retrieve.tests.title=$org.olat.ims.qti.statistics.ui\:menu.pull.tests.title
 passed.no=$org.olat.course.nodes.iq\:passed.no
diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties
index 583d429ad2bd3913c31f3964f6c028a42f303c90..cdff5a93103f0647252cb4f3c29ae3797eae70e5 100644
--- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties
@@ -1,5 +1,8 @@
 #Tue Aug 23 10:37:23 CEST 2016
 actualPoints=$org.olat.modules.iq\:actualPoints
+admin.title=QTI 2.1 settings
+admin.menu.title=QTI 2.1
+admin.menu.title.alt=QTI 2.1 settings
 anonym.not.allowed.descr=Anonym users are not allowed to play this test
 anonym.not.allowed.title=Anonym users
 anonym.user=Anonymous user
@@ -78,6 +81,8 @@ interaction.order.drag.msg=Drag unused items from here...
 interaction.order.drop.msg=Drop and order your selected items here...
 interaction.order.source=Source
 interaction.order.target=Target
+math.extension=QtiWorks Math extension
+math.extension.text=Need Maxima installed on the server
 menu.reset.title=Reset data of test
 menu.retrieve.tests.title=$org.olat.ims.qti.statistics.ui\:menu.pull.tests.title
 passed.no=$org.olat.course.nodes.iq\:passed.no
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
index 8a32cd839b85acbb93fde18f992b0dc05a4ab478..263759178016b42a972e383a52958e213d6bbba7 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
@@ -284,6 +284,7 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
 		
 		if(ureq.getUserSession().getRoles().isOLATAdmin()) {
 			reloadInCacheLink = LinkFactory.createToolLink("replace.in.cache.pool", translate("tools.reload.from.files"), this, "o_icon_refresh");
+			reloadInCacheLink.setTooltip(translate("tools.reload.from.files.tooltip"));
 			reloadInCacheLink.setDomReplacementWrapperRequired(false);
 			changeItemTools.addComponent(reloadInCacheLink);
 		}
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
index d5a9e390c8878b64b5960cc2a3a72e2ff5c980a9..f412c88032c87ab90d765ea3253fb170f336ce17 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
@@ -117,6 +117,7 @@ tools.export.qpool=$org.olat.ims.qti.editor\:tools.export.qpool
 tools.import.qpool=$org.olat.ims.qti.editor\:tools.import.qpool
 tools.import.table=$org.olat.ims.qti.editor\:tools.import.table
 tools.reload.from.files=Dateien neu laden und im Puffer ersetzen
+tools.reload.from.files.tooltip=Only visible to administrators.
 warning.alien.assessment.item=Dieser Fragetyp kann nicht mit dem OpenOLAT-Editor bearbeitet werden.
 warning.alien.assessment.test=Dieser Test kann nicht mit dem OpenOLAT-Editor bearbeitet werden.
 warning.in.use=Die Ressource wird bereits f\u00FCr Auswertung verwendet. Die Bearbeitung ist begrenzt.
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
index ea49cecab897fa8df58f54f7c9c909d817b3fa27..30367e5ab0259c623f27bb9c2a28dff928e5e795 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
@@ -117,6 +117,7 @@ tools.export.qpool=$org.olat.ims.qti.editor\:tools.export.qpool
 tools.import.qpool=$org.olat.ims.qti.editor\:tools.import.qpool
 tools.import.table=$org.olat.ims.qti.editor\:tools.import.table
 tools.reload.from.files=Reload files and refresh cache
+tools.reload.from.files.tooltip=Only visible to administrators.
 warning.alien.assessment.item=This question type cannot be processed with the OpenOLAT editor.
 warning.alien.assessment.test=This test cannot be processed with the OpenOLAT editor.
 warning.feedback.cutvalue=The feedback is based on the cut value. You need to define it first.