diff --git a/models/issues/issue_list.go b/models/issues/issue_list.go
index 218891ad35..da55ff1b09 100644
--- a/models/issues/issue_list.go
+++ b/models/issues/issue_list.go
@@ -616,7 +616,7 @@ func (issues IssueList) LoadIsRead(ctx context.Context, userID int64) error {
 	issueIDs := issues.getIssueIDs()
 	issueUsers := make([]*IssueUser, 0, len(issueIDs))
 	if err := db.GetEngine(ctx).Where("uid =?", userID).
-		In("issue_id").
+		In("issue_id", issueIDs).
 		Find(&issueUsers); err != nil {
 		return err
 	}
diff --git a/models/issues/issue_list_test.go b/models/issues/issue_list_test.go
index 9069e1012d..10ba38a64b 100644
--- a/models/issues/issue_list_test.go
+++ b/models/issues/issue_list_test.go
@@ -72,4 +72,9 @@ func TestIssueList_LoadAttributes(t *testing.T) {
 			assert.Nil(t, issue.Project)
 		}
 	}
+
+	assert.NoError(t, issueList.LoadIsRead(db.DefaultContext, 1))
+	for _, issue := range issueList {
+		assert.Equal(t, issue.ID == 1, issue.IsRead, "unexpected is_read value for issue[%d]", issue.ID)
+	}
 }