diff --git a/cmd/flux/create_helmrelease.go b/cmd/flux/create_helmrelease.go
index 6b569d89bb6ed3a329b30797f7337e6c893610a6..6a0358581e56280d4f7909379148f5ae6de5f089 100644
--- a/cmd/flux/create_helmrelease.go
+++ b/cmd/flux/create_helmrelease.go
@@ -187,9 +187,11 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	}
 
 	if helmReleaseArgs.createNamespace {
-		helmRelease.Spec.Install = &helmv2.Install{
-			CreateNamespace: helmReleaseArgs.createNamespace,
+		if helmRelease.Spec.Install == nil {
+			helmRelease.Spec.Install = &helmv2.Install{}
 		}
+
+		helmRelease.Spec.Install.CreateNamespace = helmReleaseArgs.createNamespace
 	}
 
 	if helmReleaseArgs.saName != "" {
@@ -197,6 +199,10 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	}
 
 	if helmReleaseArgs.crds != "" {
+		if helmRelease.Spec.Install == nil {
+			helmRelease.Spec.Install = &helmv2.Install{}
+		}
+
 		helmRelease.Spec.Install.CRDs = helmv2.Create
 		helmRelease.Spec.Upgrade = &helmv2.Upgrade{CRDs: helmv2.CRDsPolicy(helmReleaseArgs.crds.String())}
 	}