diff --git a/modules/markup/html.go b/modules/markup/html.go
index b5c0e405ae..b5aadb2ad5 100644
--- a/modules/markup/html.go
+++ b/modules/markup/html.go
@@ -867,7 +867,7 @@ func issueIndexPatternProcessor(ctx *RenderContext, node *html.Node) {
 
 		var link *html.Node
 		reftext := node.Data[ref.RefLocation.Start:ref.RefLocation.End]
-		if hasExtTrackFormat && !ref.IsPull {
+		if hasExtTrackFormat && !ref.IsPull && ref.Owner == "" {
 			ctx.Metas["index"] = ref.Issue
 
 			res, err := vars.Expand(ctx.Metas["format"], ctx.Metas)
diff --git a/modules/markup/html_internal_test.go b/modules/markup/html_internal_test.go
index 17eff59d56..adc93adb2f 100644
--- a/modules/markup/html_internal_test.go
+++ b/modules/markup/html_internal_test.go
@@ -342,6 +342,22 @@ func TestRender_AutoLink(t *testing.T) {
 	test(tmp, "<a href=\""+tmp+"\" class=\"commit\"><code class=\"nohighlight\">d8a994ef24 (diff-2)</code></a>")
 }
 
+func TestRender_IssueIndexPatternRef(t *testing.T) {
+	setting.AppURL = TestAppURL
+
+	test := func(input, expected string) {
+		var buf strings.Builder
+		err := postProcess(&RenderContext{
+			Ctx:   git.DefaultContext,
+			Metas: numericMetas,
+		}, []processor{issueIndexPatternProcessor}, strings.NewReader(input), &buf)
+		require.NoError(t, err)
+		assert.Equal(t, expected, buf.String(), "input=%q", input)
+	}
+
+	test("alan-turin/Enigma-cryptanalysis#1", `<a href="/alan-turin/enigma-cryptanalysis/issues/1" class="ref-issue">alan-turin/Enigma-cryptanalysis#1</a>`)
+}
+
 func TestRender_FullIssueURLs(t *testing.T) {
 	setting.AppURL = TestAppURL