diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
index 70bed0a648000f60715f0d157fd62161266e652a..7dc44570979f233aa264c4662c74451adc970c95 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
@@ -35,6 +35,7 @@ import org.olat.core.gui.render.RenderingState;
 import org.olat.core.gui.render.StringOutput;
 import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.gui.translator.Translator;
+import org.olat.core.util.StringHelper;
 
 /**
  * Description:<br>
@@ -69,6 +70,9 @@ class FormButtonRenderer implements ComponentRenderer {
 		}
 		sb.append(FormJSHelper.getRawJSFor(fs.getRootForm(), id, fs.getAction()));
 		sb.append(" class=\"b_button ");
+		if(StringHelper.containsNonWhitespace(fs.getElementCssClass())) {
+			sb.append(fs.getElementCssClass());
+		}
 		if(!source.isEnabled()){
 			sb.append(" b_disabled ");
 		}		
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java
index 9f88c25def2e5044993f6ac6fc237b128a328397..a82d05e546db5d2e3775f703730c9aff94a46b0e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java
@@ -141,6 +141,11 @@ public class FormCancel extends FormItemImpl implements Disposable, Cancel {
 		cancelLink.setCustomEnabledLinkCSS(customEnabledLinkCSS);
 	}
 
+	@Override
+	public void setElementCssClass(String elementCssClass) {
+		cancelLink.setElementCssClass(elementCssClass);
+	}
+
 	/**
 	 * @see org.olat.core.gui.components.form.flexible.elements.Cancel#setI18nKey(java.lang.String)
 	 */
diff --git a/src/main/java/org/olat/core/gui/components/link/Link.java b/src/main/java/org/olat/core/gui/components/link/Link.java
index ad293c9d6cefb54e4b41fcbb2fb1b5af88b05264..ad09683dac7283bb0fe1437efdbc2ae5f06a39bd 100644
--- a/src/main/java/org/olat/core/gui/components/link/Link.java
+++ b/src/main/java/org/olat/core/gui/components/link/Link.java
@@ -80,6 +80,7 @@ public class Link extends Component {
 	private String customDisplayText;
 	private String customEnabledLinkCSS;
 	private String customDisabledLinkCSS;
+	private String elementCssClass;
 	private String target;
 	boolean markIt = false;
 	private Object internalAttachedObj;
@@ -338,8 +339,15 @@ public class Link extends Component {
 		}
 		setDirty(true);
 	}
-
 	
+	public String getElementCssClass() {
+		return elementCssClass;
+	}
+
+	public void setElementCssClass(String elementCssClass) {
+		this.elementCssClass = elementCssClass;
+	}
+
 	public void removeCSS(){
 		this.presentation = presentationBeforeCustomCSS;
 		setDirty(true);
diff --git a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
index da4a92752856631f2b43cd53f49a06a4fcd2f73b..a0ad96d2d35181fa2bd5480ac8c474cf4bf37645 100644
--- a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
@@ -43,6 +43,7 @@ import org.olat.core.gui.render.StringOutput;
 import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.logging.AssertException;
+import org.olat.core.util.StringHelper;
 
 /**
  * Description: Renders the link component depending of features and style. 
@@ -84,6 +85,9 @@ public class LinkRenderer implements ComponentRenderer {
 		if (!link.isEnabled()) {
 			cssSb.append(" b_disabled ");
 		}
+		if(StringHelper.containsNonWhitespace(link.getElementCssClass())) {
+			cssSb.append(link.getElementCssClass()).append(" ");
+		}
 		if (presentation == Link.BUTTON_XSMALL) {
 			cssSb.append("b_button b_xsmall");
 		} else if (presentation == Link.BUTTON_SMALL) {
diff --git a/src/main/java/org/olat/user/ChangePrefsController.java b/src/main/java/org/olat/user/ChangePrefsController.java
index 833ea7ac0c7508c8586f8524dc85c8c9f9b2e25a..e200dd649f00c763cd2a724074d7c20eb8f86c3c 100644
--- a/src/main/java/org/olat/user/ChangePrefsController.java
+++ b/src/main/java/org/olat/user/ChangePrefsController.java
@@ -36,17 +36,19 @@ import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElem
 import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormCancel;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.controller.BasicController;
 import org.olat.core.id.Identity;
-import org.olat.core.util.UserSession;
 import org.olat.core.id.User;
 import org.olat.core.id.context.HistoryManager;
 import org.olat.core.id.context.HistoryModule;
 import org.olat.core.util.StringHelper;
+import org.olat.core.util.UserSession;
 import org.olat.core.util.prefs.Preferences;
 import org.olat.core.util.prefs.PreferencesFactory;
 import org.olat.properties.PropertyManager;
@@ -253,8 +255,10 @@ class SpecialPrefsForm extends FormBasicController {
 		
 		final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 		formLayout.add(buttonLayout);
-		uifactory.addFormSubmitButton("submit", buttonLayout);
-		uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
+		FormSubmit submitButton = uifactory.addFormSubmitButton("submit", buttonLayout);
+		submitButton.setElementCssClass("o_sel_home_settings_gui_submit");
+		FormCancel cancelButton = uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
+		cancelButton.setElementCssClass("o_sel_home_settings_gui_cancel");
 	}
 
 	private void update() {
@@ -330,7 +334,8 @@ class UserPrefsResetForm extends FormBasicController {
 		
 		final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 		formLayout.add(buttonLayout);
-		uifactory.addFormSubmitButton("reset.submit", buttonLayout);
+		FormSubmit submitButton = uifactory.addFormSubmitButton("reset.submit", buttonLayout);
+		submitButton.setElementCssClass("o_sel_home_settings_reset_sysprefs_submit");
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/user/PreferencesFormController.java b/src/main/java/org/olat/user/PreferencesFormController.java
index a3778f25f798ed44d508733c80bbc7d3e6208b86..938ef3eabb0d0d466d686f06eab5fcdd23929fdb 100644
--- a/src/main/java/org/olat/user/PreferencesFormController.java
+++ b/src/main/java/org/olat/user/PreferencesFormController.java
@@ -34,6 +34,8 @@ import org.olat.core.gui.components.form.flexible.elements.StaticTextElement;
 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.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormCancel;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowBackOffice;
@@ -224,8 +226,10 @@ public class PreferencesFormController extends FormBasicController {
 		// Submit and cancel buttons
 		final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 		formLayout.add(buttonLayout);
-		uifactory.addFormSubmitButton("submit", buttonLayout);
-		uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
+		FormSubmit submitButton = uifactory.addFormSubmitButton("submit", buttonLayout);
+		submitButton.setElementCssClass("o_sel_home_settings_prefs_submit");
+		FormCancel cancelButton = uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
+		cancelButton.setElementCssClass("o_sel_home_settings_prefs_cancel");
 	}
 
 	protected void formInnerEvent (UserRequest ureq, FormItem source, FormEvent event) {