diff --git a/models/star.go b/models/star.go
index d7366f37b5..fd08c61fa6 100644
--- a/models/star.go
+++ b/models/star.go
@@ -74,7 +74,8 @@ func (repo *Repository) GetStargazers(page int) ([]*User, error) {
 func (u *User) GetStarredRepos(private bool) (repos []*Repository, err error) {
 	sess := x.
 		Join("INNER", "star", "star.repo_id = repository.id").
-		Where("star.uid = ?", u.ID)
+		Where("star.uid = ?", u.ID).
+		Desc("star.id")
 
 	if !private {
 		sess = sess.And("is_private = ?", false)
diff --git a/models/star_test.go b/models/star_test.go
index d9717d9ec9..7b7fd516e3 100644
--- a/models/star_test.go
+++ b/models/star_test.go
@@ -61,8 +61,8 @@ func TestUser_GetStarredRepos(t *testing.T) {
 	starred, err = user.GetStarredRepos(true)
 	assert.NoError(t, err)
 	assert.Len(t, starred, 2)
-	assert.Equal(t, int64(2), starred[0].ID)
-	assert.Equal(t, int64(4), starred[1].ID)
+	assert.Equal(t, int64(4), starred[0].ID)
+	assert.Equal(t, int64(2), starred[1].ID)
 }
 
 func TestUser_GetStarredRepos2(t *testing.T) {