diff --git a/models/repo.go b/models/repo.go
index bf5c160297..4cf3be6aa3 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -766,7 +766,7 @@ func CanUserForkRepo(user *user_model.User, repo *Repository) (bool, error) {
 	if repo.OwnerID != user.ID && !HasForkedRepo(user.ID, repo.ID) {
 		return true, nil
 	}
-	ownedOrgs, err := GetOwnedOrgsByUserID(user.ID)
+	ownedOrgs, err := GetOrgsCanCreateRepoByUserID(user.ID)
 	if err != nil {
 		return false, err
 	}
diff --git a/routers/web/repo/pull.go b/routers/web/repo/pull.go
index 06aa86206d..19e757dad8 100644
--- a/routers/web/repo/pull.go
+++ b/routers/web/repo/pull.go
@@ -113,9 +113,9 @@ func getForkRepository(ctx *context.Context) *models.Repository {
 
 	ctx.Data["ForkRepo"] = forkRepo
 
-	ownedOrgs, err := models.GetOwnedOrgsByUserID(ctx.User.ID)
+	ownedOrgs, err := models.GetOrgsCanCreateRepoByUserID(ctx.User.ID)
 	if err != nil {
-		ctx.ServerError("GetOwnedOrgsByUserID", err)
+		ctx.ServerError("GetOrgsCanCreateRepoByUserID", err)
 		return nil
 	}
 	var orgs []*models.Organization
@@ -216,13 +216,13 @@ func ForkPost(ctx *context.Context) {
 		}
 	}
 
-	// Check ownership of organization.
+	// Check if user is allowed to create repo's on the organization.
 	if ctxUser.IsOrganization() {
-		isOwner, err := models.OrgFromUser(ctxUser).IsOwnedBy(ctx.User.ID)
+		isAllowedToFork, err := models.OrgFromUser(ctxUser).CanCreateOrgRepo(ctx.User.ID)
 		if err != nil {
-			ctx.ServerError("IsOwnedBy", err)
+			ctx.ServerError("CanCreateOrgRepo", err)
 			return
-		} else if !isOwner {
+		} else if !isAllowedToFork {
 			ctx.Error(http.StatusForbidden)
 			return
 		}