diff --git a/modules/context/repo.go b/modules/context/repo.go
index 539b111f15..df3fe4e74d 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -391,7 +391,7 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) {
 				ctx.ServerError("GetMirrorByRepoID", err)
 				return
 			}
-			ctx.Repo.Mirror.Repo = ctx.Repo.Repository
+			ctx.Repo.Mirror.Repo = repo
 			ctx.Data["MirrorEnablePrune"] = ctx.Repo.Mirror.EnablePrune
 			ctx.Data["MirrorInterval"] = ctx.Repo.Mirror.Interval
 			ctx.Data["Mirror"] = ctx.Repo.Mirror
diff --git a/services/mirror/mirror_pull.go b/services/mirror/mirror_pull.go
index c51483821b..a93aee76cf 100644
--- a/services/mirror/mirror_pull.go
+++ b/services/mirror/mirror_pull.go
@@ -32,7 +32,7 @@ const gitShortEmptySha = "0000000"
 // UpdateAddress writes new address to Git repository and database
 func UpdateAddress(ctx context.Context, m *repo_model.Mirror, addr string) error {
 	remoteName := m.GetRemoteName()
-	repoPath := m.Repo.RepoPath()
+	repoPath := m.GetRepository().RepoPath()
 	// Remove old remote
 	_, _, err := git.NewCommand(ctx, "remote", "rm", remoteName).RunStdString(&git.RunOpts{Dir: repoPath})
 	if err != nil && !strings.HasPrefix(err.Error(), "exit status 128 - fatal: No such remote ") {