diff --git a/models/user.go b/models/user.go
index 37876063e3..cb3691fb96 100644
--- a/models/user.go
+++ b/models/user.go
@@ -1095,7 +1095,7 @@ func updateUser(e Engine, u *User, changePrimaryEmail bool) error {
 			if _, err := e.Insert(&emailAddress); err != nil {
 				return err
 			}
-		} else if _, err := e.ID(emailAddress).Cols("is_primary").Update(&EmailAddress{
+		} else if _, err := e.ID(emailAddress.ID).Cols("is_primary").Update(&EmailAddress{
 			IsPrimary: true,
 		}); err != nil {
 			return err