diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java
index 05fbfbc601094204c3e5fb52a8398f507e4ca55b..46e4587bceb0cca1b51d3cf7eaa1960ae446c7e0 100644
--- a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java
+++ b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java
@@ -218,18 +218,12 @@ public class HTMLEditorController extends FormBasicController implements Activat
 
 			lock = CoordinatorManager.getInstance().getCoordinator().getLocker()
 					.acquireLock(lockResourceable, getIdentity(), lockToken, getWindow());
-			VelocityContainer vc = (VelocityContainer) flc.getComponent();
-			if (!lock.isSuccess()) {
-				vc.contextPut("locked", Boolean.TRUE);
-				String fullname = userManager.getUserDisplayName(lock.getOwner());
-				vc.contextPut("lockOwner", fullname);
-				vc.contextPut("lockOwnerSameUser", Boolean.valueOf(lock.isDifferentWindows()));
+			if (lock.isSuccess()) {
+				unsetLockError();
+			} else {
+				setLockedError(lock);
 				editable = false;
 				return;
-			} else {
-				vc.contextPut("locked", Boolean.FALSE);
-				vc.contextRemove("lockOwner");	
-				vc.contextRemove("lockOwnerSameUser");	
 			}
 		}
 		// Parse the content of the page
@@ -240,6 +234,20 @@ public class HTMLEditorController extends FormBasicController implements Activat
 		}
 	}
 	
+	private void unsetLockError() {
+		flc.contextPut("locked", Boolean.FALSE);
+		flc.contextRemove("lockOwner");	
+		flc.contextRemove("lockOwnerSameUser");
+		flc.setDirty(true);
+	}
+	
+	private void setLockedError(LockResult lockResult) {
+		flc.contextPut("locked", Boolean.TRUE);
+		String fullname = userManager.getUserDisplayName(lockResult.getOwner());
+		flc.contextPut("lockOwner", fullname);
+		flc.contextPut("lockOwnerSameUser", Boolean.valueOf(lockResult.isDifferentWindows()));
+	}
+	
 	public Object getUserObject() {
 		return userObject;
 	}
@@ -269,6 +277,10 @@ public class HTMLEditorController extends FormBasicController implements Activat
 					.acquireLock(lockResourceable, getIdentity(), lockToken, getWindow());
 			if(reacquiredLock.isSuccess()) {
 				lock = reacquiredLock;
+				unsetLockError();
+			} else {
+				setLockedError(reacquiredLock);
+				editable = false;
 			}
 		}
 	}
diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_de.properties
index 4afe78379d7c6dbdb3f0440a120e0073b6a82b98..f2f3f3a5dc85b8102b3dfffbe29c6f3a3ca1a28a 100644
--- a/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_de.properties
@@ -1,4 +1,5 @@
 #Fri Jun 19 17:34:51 CEST 2009
+acquireownbuttontext=Ubernehmen und editieren
 error.lock.lost=Sie haben den Lock verloren.
 error.pageeditedby=Die Seite wird zurzeit von Benutzer {0} bearbeitet. Versuchen Sie es sp\u00E4ter noch einmal.
 lastModified=Zuletzt ge\u00E4ndert
diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_en.properties
index 406a81531ef353bdd1ef82e870fea5faf3685219..775001fa4e66fc4067e66b073efe06ca7b809129 100644
--- a/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/core/commons/editor/htmleditor/_i18n/LocalStrings_en.properties
@@ -1,4 +1,5 @@
 #Fri Jan 22 19:30:49 CET 2010
+acquireownbuttontext=Take over and edit
 error.lock.lost=You have lost the lock.
 error.pageeditedby=This page is currently edited by user {0}. Please try again later.
 lastModified=Last modified
diff --git a/src/main/java/org/olat/core/util/coordinate/Locker.java b/src/main/java/org/olat/core/util/coordinate/Locker.java
index 9143c50ddc8da51f309b37239c646882c71ac1a5..6974a29186e507c451a4a59837757413e48ccda8 100644
--- a/src/main/java/org/olat/core/util/coordinate/Locker.java
+++ b/src/main/java/org/olat/core/util/coordinate/Locker.java
@@ -83,25 +83,6 @@ public interface Locker {
 	 * @return
 	 */
 	public LockEntry getLockEntry(OLATResourceable ores, String locksubkey);
-	
-	/**
-	 * 
-	 * acquires a persistent lock.
-	 * 
-	 * @param ores
-	 * @param ident
-	 * @param locksubkey may not be longer than 30 chars
-	 * @return the LockResult of this lock trial.
-	 */
-	//public LockResult aquirePersistentLock(OLATResourceable ores, Identity ident, String locksubkey);
-	
-	
-	/**
-	 * releases a persistent lock.
-	 * 
-	 * @param le the LockResult which stems from the lock acquired previously
-	 */
-	//public void releasePersistentLock(LockResult le);
 
 	/**
 	 * for admin purposes only.