diff --git a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties
index 8a83ed650ac0b2e537b20fb723aeb438341228ef..bb6cc975939f92dfb16cb3c60edac4c715b9a142 100644
--- a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties
@@ -91,7 +91,7 @@ form.step3.delimiter.tab=$org.olat.course.assessment\:form.step3.delimiter.tab
 new.bulk=Neue Massenbewertung starten
 passed.false=$org.olat.course.assessment\:passed.false
 passed.true=$org.olat.course.assessment\:passed.true
-return.files=R\u00FCchgabedateien (ZIP Archiv mit Unterordner pro Teilnehmer)
+return.files=R\u00FCckgabedateien (ZIP Archiv mit Unterordner pro Teilnehmer)
 return.mime=Die Datei ist kein ZIP Archiv
 schedule.date=Datum
 schedule.delayed=Sp\u00E4ter, nach Datum
diff --git a/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java
index 21fcae121461573aa33e384bd3f5f42667f0f055..880100a0c98b00f572624be342d31e516dc57ad6 100644
--- a/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java
+++ b/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java
@@ -158,12 +158,16 @@ public class DialogCourseNodeIndexer extends DefaultIndexer implements CourseNod
 	@Override
 	public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles)  {
 		ContextEntry ce = businessControl.popLauncherContextEntry();
+		if(ce == null || ce.getOLATResourceable() == null || ce.getOLATResourceable().getResourceableId() == null) {
+			return true;// it's the node itself
+		}
+		
 		OLATResourceable ores = ce.getOLATResourceable();
 		if(isLogDebugEnabled()) logDebug("OLATResourceable=" + ores);
-		if ( (ores != null) && (ores.getResourceableTypeName().startsWith("path=")) ) {
+		if (ores.getResourceableTypeName().startsWith("path=")) {
 			// => it is a file element, typeName format: 'path=/test1/test2/readme.txt'
 			return true;
-		} else if ((ores != null) && ores.getResourceableTypeName().equals( OresHelper.calculateTypeName(Message.class) ) ) {
+		} else if (ores.getResourceableTypeName().equals(OresHelper.calculateTypeName(Message.class))) {
 			// it is message => check message access
 			Long resourceableId = ores.getResourceableId();
 			Message message = ForumManager.getInstance().loadMessage(resourceableId);
@@ -174,9 +178,10 @@ public class DialogCourseNodeIndexer extends DefaultIndexer implements CourseNod
 			boolean isMessageHidden = Status.getStatus(threadtop.getStatusCode()).isHidden(); 
 			//assumes that if is owner then is moderator so it is allowed to see the hidden forum threads		
 			//TODO: (LD) fix this!!! - the contextEntry is not the right context for this check
-			boolean isOwner = BaseSecurityManager.getInstance().isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_ACCESS,  contextEntry.getOLATResourceable());
-			if(isMessageHidden && !isOwner) {
-				return false;
+			if(isMessageHidden) {
+				boolean isOwner = BaseSecurityManager.getInstance()
+						.isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_ACCESS,  contextEntry.getOLATResourceable());
+				return isOwner;
 			}		
 			return true;
 		} else {
diff --git a/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java
index 4f7889a56c34619a927a4f0f323a1f55475c7e00..0b6526a04467ab6c2da1834bfa95dd94a4cddc9f 100644
--- a/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java
+++ b/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java
@@ -86,7 +86,7 @@ public class FOCourseNodeIndexer extends ForumIndexer implements CourseNodeIndex
 	public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles) {
 		ContextEntry ce = businessControl.popLauncherContextEntry();
 		if(ce == null || ce.getOLATResourceable() == null || ce.getOLATResourceable().getResourceableId() == null) {
-			return false;
+			return true;//it's the node itself
 		}
 		
 		Long resourceableId = ce.getOLATResourceable().getResourceableId();
diff --git a/src/main/java/org/olat/search/ui/ResultsController.java b/src/main/java/org/olat/search/ui/ResultsController.java
index 31e05d3976da9ede3d15af2d5614d19131854f98..2311601ccbf59c5f36fb6c2f17d827fdabff3720 100644
--- a/src/main/java/org/olat/search/ui/ResultsController.java
+++ b/src/main/java/org/olat/search/ui/ResultsController.java
@@ -52,7 +52,7 @@ import org.olat.search.model.ResultDocument;
  * @author srosse, stephane.rosse@frentix.com
  */
 public class ResultsController extends FormBasicController {
-	private FormLink previousTopLink, nextTopLink, previousLink, nextLink; 
+	private FormLink previousLink, nextLink; 
 	private FormLink highlightLink, dishighlightLink;
 	
 	private int currentPage;
@@ -77,10 +77,8 @@ public class ResultsController extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		previousLink = uifactory.addFormLink("previous.page", formLayout);
-		previousTopLink = uifactory.addFormLink("previous.top.page", null, "previous.page", formLayout, Link.LINK);
 		nextLink = uifactory.addFormLink("next.page", formLayout);
-		nextTopLink = uifactory.addFormLink("next.top.page", null, "next.page", formLayout, Link.LINK);
-
+		
 		highlightLink = uifactory.addFormLink("highlight.page", "enable.highlighting", "enable.highlighting", formLayout, Link.LINK);
 		dishighlightLink = uifactory.addFormLink("dishighlight.page", "disable.highlighting", "disable.highlighting", formLayout, Link.LINK);
 		flc.contextPut("highlight", true);
@@ -158,9 +156,7 @@ public class ResultsController extends FormBasicController {
 		flc.contextPut("currentPage", currentPage + 1);
 		
 		previousLink.setEnabled(currentPage != 0);
-		previousTopLink.setEnabled(currentPage != 0);
 		nextLink.setEnabled(currentPage != getMaxPage());
-		nextTopLink.setEnabled(currentPage != getMaxPage());
 		
 		String [] args = {Integer.toString(getStartResult()), Integer.toString(getEndResult()), Integer.toString(getNumOfResults())};
 		flc.contextPut("resultTitle", getTranslator().translate("search.result.title",args));
@@ -186,9 +182,9 @@ public class ResultsController extends FormBasicController {
 			highlight = false;
 			flc.contextPut("highlight", highlight);
 			reload(ureq);
-		} else if (source == previousLink || source == previousTopLink) {
+		} else if (source == previousLink) {
 			setSearchResults(ureq, Math.max(0, --currentPage));
-		} else if (source == nextLink || source == nextTopLink) {
+		} else if (source == nextLink) {
 			if(documents.size() <= (currentPage + 1) * RESULT_PER_PAGE) {
 				SearchEvent e = new SearchEvent(getLastLucenePosition() + 1, RESULT_PER_PAGE);
 				fireEvent(ureq, e);