diff --git a/modules/base/markdown.go b/modules/base/markdown.go
index 9d297f0ce8..1f48b88db7 100644
--- a/modules/base/markdown.go
+++ b/modules/base/markdown.go
@@ -167,10 +167,21 @@ func RenderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte {
 	return rawBytes
 }
 
-func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
-	if i := strings.Index(urlPrefix, "/src"); i != -1 {
-		urlPrefix = urlPrefix[:i]
+func cutoutVerbosePrefix(prefix string) string {
+	count := 0
+	for i := 0; i < len(prefix); i++ {
+		if prefix[i] == '/' {
+			count++
+		}
+		if count >= 3 {
+			return prefix[:i]
+		}
 	}
+	return prefix
+}
+
+func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
+	urlPrefix = cutoutVerbosePrefix(urlPrefix)
 	ms := issueIndexPattern.FindAll(rawBytes, -1)
 	for _, m := range ms {
 		var space string