diff --git a/dbrp/http_server_dbrp_test.go b/dbrp/http_server_dbrp_test.go
index 44d18e1132..f73fdd6732 100644
--- a/dbrp/http_server_dbrp_test.go
+++ b/dbrp/http_server_dbrp_test.go
@@ -148,6 +148,9 @@ func Test_handlePostDBRP(t *testing.T) {
 				t.Fatalf("expected orgid %s got %s", tt.ExpectedDBRP.OrganizationID, dbrp.OrganizationID)
 			}
 
+			if !dbrp.Default {
+				t.Fatalf("expected dbrp to be marked as default")
+			}
 		})
 	}
 }
diff --git a/dbrp/service.go b/dbrp/service.go
index 81f1fe7a12..ec40af2ccc 100644
--- a/dbrp/service.go
+++ b/dbrp/service.go
@@ -370,19 +370,12 @@ func (s *Service) Create(ctx context.Context, dbrp *influxdb.DBRPMappingV2) erro
 	if err != nil {
 		return ErrInvalidDBRPID
 	}
-	b, err := json.Marshal(dbrp)
-	if err != nil {
-		return ErrInternalService(err)
-	}
 
 	return s.store.Update(ctx, func(tx kv.Tx) error {
 		bucket, err := tx.Bucket(bucket)
 		if err != nil {
 			return ErrInternalService(err)
 		}
-		if err := bucket.Put(encodedID, b); err != nil {
-			return ErrInternalService(err)
-		}
 		compKey := indexForeignKey(*dbrp)
 		if err := s.byOrgAndDatabase.Insert(tx, compKey, encodedID); err != nil {
 			return err
@@ -394,6 +387,15 @@ func (s *Service) Create(ctx context.Context, dbrp *influxdb.DBRPMappingV2) erro
 		if !defSet {
 			dbrp.Default = true
 		}
+
+		b, err := json.Marshal(dbrp)
+		if err != nil {
+			return ErrInternalService(err)
+		}
+		if err := bucket.Put(encodedID, b); err != nil {
+			return ErrInternalService(err)
+		}
+
 		if dbrp.Default {
 			if err := s.setAsDefault(tx, compKey, encodedID); err != nil {
 				return err