diff --git a/models/repo.go b/models/repo.go
index c806e2f74d..ecfc296c98 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -619,18 +619,22 @@ func (repo *Repository) IsOwnedBy(userID int64) bool {
 	return repo.OwnerID == userID
 }
 
-// UpdateSize updates the repository size, calculating it using git.GetRepoSize
-func (repo *Repository) UpdateSize() error {
+func (repo *Repository) updateSize(e Engine) error {
 	repoInfoSize, err := git.GetRepoSize(repo.RepoPath())
 	if err != nil {
 		return fmt.Errorf("UpdateSize: %v", err)
 	}
 
 	repo.Size = repoInfoSize.Size + repoInfoSize.SizePack
-	_, err = x.ID(repo.ID).Cols("size").Update(repo)
+	_, err = e.Id(repo.ID).Cols("size").Update(repo)
 	return err
 }
 
+// UpdateSize updates the repository size, calculating it using git.GetRepoSize
+func (repo *Repository) UpdateSize() error {
+	return repo.updateSize(x)
+}
+
 // CanBeForked returns true if repository meets the requirements of being forked.
 func (repo *Repository) CanBeForked() bool {
 	return !repo.IsBare
@@ -1554,7 +1558,7 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
 			}
 		}
 
-		if err = repo.UpdateSize(); err != nil {
+		if err = repo.updateSize(e); err != nil {
 			log.Error(4, "Failed to update size for repository: %v", err)
 		}
 	}