diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/TextElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/TextElement.java
index ac8f91dccd9d0c9d5767e63fc39e835542d747ed..1b76906b6a3c12758df0cbbb920ead8955769835 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/TextElement.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/TextElement.java
@@ -63,6 +63,18 @@ public interface TextElement extends FormItem{
 	 */
 	public void setValue(String value);
 
+	
+	/**
+	 * OO-31
+	 * 
+	 * if you set this to true, this will prevent the default behavior of trimming
+	 * the input-value on set. ( setValue() )
+	 * 
+	 * @param preventTrim
+	 */
+	public void preventValueTrim(boolean preventTrim); 
+	
+	
 	/**
 	 * Set a new value as the original value that is used when resetting the
 	 * form. This can be used when a form is saved and in a later form should be
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AbstractTextElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AbstractTextElement.java
index b51b3f0bec31b52e641d444f73a018e31a9bdebf..31eae957a4ddd185df84c8ea4da7a2dc17fe69e5 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AbstractTextElement.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AbstractTextElement.java
@@ -63,6 +63,7 @@ public abstract class AbstractTextElement extends FormItemImpl implements TextEl
 	private boolean checkForEquals = false; 
 	private boolean checkForMatchRegexp = false;
 	private boolean checkForCustomItemValidator = false;
+	private boolean preventTrim = false; //OO-31
 	private String notEmptyErrorKey;
 	private int notLongerLength;
 	protected int displaySize;
@@ -129,6 +130,12 @@ public abstract class AbstractTextElement extends FormItemImpl implements TextEl
 		return filter.filter(value);
 	}
 	
+	/**
+	 * @see org.olat.core.gui.components.form.flexible.elements.TextElement#preventValueTrim()
+	 */
+	public void preventValueTrim(boolean preventTrim){
+		this.preventTrim = preventTrim;
+	}
 
 	/**
 	 * Sets the value. if null is given, an empty string is assumed.
@@ -138,7 +145,9 @@ public abstract class AbstractTextElement extends FormItemImpl implements TextEl
 	public void setValue(String value) {
 		if (value == null) value = "";
 		else {
-			value = value.trim();
+			if(!preventTrim) // OO-31
+				value = value.trim();
+			
 			// Remember original value for dirty evaluation.
 			// null value is not regarded as initial value. only
 			// real values are used inital values
diff --git a/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java b/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java
index 982a47429cc138b40efee2e877081731022f1465..c8438cd877b601e989a3b7eec296666e0a31337d 100644
--- a/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java
+++ b/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java
@@ -98,6 +98,8 @@ public class WikiEditArticleForm extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		
 		wikiContent = uifactory.addTextAreaElement("wikiContentElement", 20, 110, page.getContent() , formLayout);
+		wikiContent.preventValueTrim(true);//OO-31 prevent trimming, so first line can be with inset (wiki pre-formatted)
+
 		updateComment = uifactory.addTextElement("wikiUpdateComment", null, 40, "", formLayout);
 		updateComment.setExampleKey ("update.comment", null);
 		// Button layout