diff --git a/release-notes/8.0.0/fix/3562.md b/release-notes/8.0.0/fix/3562.md
new file mode 100644
index 0000000000..8099056205
--- /dev/null
+++ b/release-notes/8.0.0/fix/3562.md
@@ -0,0 +1 @@
+Fixed a bug where subscribing to or unsubscribing from an issue in a repository with no code produced an internal server error.
diff --git a/routers/web/repo/issue_watch.go b/routers/web/repo/issue_watch.go
index c8d7187b8e..5cff9f4ddd 100644
--- a/routers/web/repo/issue_watch.go
+++ b/routers/web/repo/issue_watch.go
@@ -46,7 +46,7 @@ func IssueWatch(ctx *context.Context) {
 		return
 	}
 
-	watch, err := strconv.ParseBool(ctx.Req.PostForm.Get("watch"))
+	watch, err := strconv.ParseBool(ctx.Req.PostFormValue("watch"))
 	if err != nil {
 		ctx.ServerError("watch is not bool", err)
 		return