diff --git a/templates/repo/commit_page.tmpl b/templates/repo/commit_page.tmpl
index 28b7bfc89c..c7361663b2 100644
--- a/templates/repo/commit_page.tmpl
+++ b/templates/repo/commit_page.tmpl
@@ -278,9 +278,9 @@
 					<strong>{{.NoteCommit.Author.Name}}</strong>
 				{{end}}
 				<span class="text grey" id="note-authored-time">{{DateUtils.TimeSince .NoteCommit.Author.When}}</span>
-				{{if or ($.Permission.CanWrite $.UnitTypeCode) (not $.Repository.IsArchived) (not .IsDeleted)}}
+				{{if and ($.Permission.CanWrite $.UnitTypeCode) (not $.Repository.IsArchived) (not .IsDeleted)}}
 					<div class="ui right">
-						<button id="commit-notes-edit-button" class="ui tiny primary button" data-modal="#delete-note-modal">{{ctx.Locale.Tr "edit"}}</button>
+						<button id="commit-notes-edit-button" class="ui tiny primary button">{{ctx.Locale.Tr "edit"}}</button>
 						<button class="ui tiny button red show-modal" data-modal="#delete-note-modal">{{ctx.Locale.Tr "remove"}}</button>
 					</div>
 					<div class="ui small modal" id="delete-note-modal">
diff --git a/tests/integration/repo_git_note_test.go b/tests/integration/repo_git_note_test.go
index 9c2423c892..6ad57c81b0 100644
--- a/tests/integration/repo_git_note_test.go
+++ b/tests/integration/repo_git_note_test.go
@@ -5,6 +5,8 @@ import (
 	"net/url"
 	"testing"
 
+	"code.gitea.io/gitea/tests"
+
 	"github.com/stretchr/testify/assert"
 )
 
@@ -42,3 +44,29 @@ func TestRepoModifyGitNotes(t *testing.T) {
 		})
 	})
 }
+
+func TestRepoGitNotesButtonsVisible(t *testing.T) {
+	onGiteaRun(t, func(*testing.T, *url.URL) {
+		t.Run("With Permission", func(t *testing.T) {
+			defer tests.PrintCurrentTest(t)()
+
+			session := loginUser(t, "user2")
+
+			req := NewRequest(t, "GET", "/user2/repo1/commit/65f1bf27bc3bf70f64657658635e66094edbcb4d")
+			resp := session.MakeRequest(t, req, http.StatusOK)
+
+			assert.Contains(t, resp.Body.String(), "id=\"commit-notes-edit-button\"")
+			assert.Contains(t, resp.Body.String(), "data-modal=\"#delete-note-modal\"")
+		})
+
+		t.Run("Without Permission", func(t *testing.T) {
+			defer tests.PrintCurrentTest(t)()
+
+			req := NewRequest(t, "GET", "/user2/repo1/commit/65f1bf27bc3bf70f64657658635e66094edbcb4d")
+			resp := MakeRequest(t, req, http.StatusOK)
+
+			assert.NotContains(t, resp.Body.String(), "id=\"commit-notes-edit-button\"")
+			assert.NotContains(t, resp.Body.String(), "data-modal=\"#delete-note-modal\"")
+		})
+	})
+}