diff --git a/integrations/mirror_pull_test.go b/integrations/mirror_pull_test.go
index 385f0f5a6f..dd66974e04 100644
--- a/integrations/mirror_pull_test.go
+++ b/integrations/mirror_pull_test.go
@@ -46,6 +46,7 @@ func TestMirrorPull(t *testing.T) {
 		Status:      repo_model.RepositoryBeingMigrated,
 	})
 	assert.NoError(t, err)
+	assert.True(t, mirrorRepo.IsMirror, "expected pull-mirror repo to be marked as a mirror immediately after its creation")
 
 	ctx := context.Background()
 
diff --git a/modules/repository/create.go b/modules/repository/create.go
index 33039d77c2..21d45c896e 100644
--- a/modules/repository/create.go
+++ b/modules/repository/create.go
@@ -54,6 +54,7 @@ func CreateRepository(doer, u *user_model.User, opts models.CreateRepoOptions) (
 		Status:                          opts.Status,
 		IsEmpty:                         !opts.AutoInit,
 		TrustModel:                      opts.TrustModel,
+		IsMirror:                        opts.IsMirror,
 	}
 
 	var rollbackRepo *repo_model.Repository