diff --git a/controllers/akodeploymentconfig/akodeploymentconfig_controller_avi_phase.go b/controllers/akodeploymentconfig/akodeploymentconfig_controller_avi_phase.go
index 1f6c8b1d..0cbc2471 100644
--- a/controllers/akodeploymentconfig/akodeploymentconfig_controller_avi_phase.go
+++ b/controllers/akodeploymentconfig/akodeploymentconfig_controller_avi_phase.go
@@ -293,21 +293,7 @@ func (r *AKODeploymentConfigReconciler) reconcileAviInfraSetting(
 		log.Info("ControlPlaneNetwork is empty in akoDeploymentConfig, skip creating AVIInfraSetting")
 		return res, nil
 	}
-	return res, r.Patch(ctx, r.createAviInfraSetting(adc), client.Apply, client.ForceOwnership, client.FieldOwner("field-owner"))
-}
-
-// AviInfraSetting is a top-level type
-type AviInfraSetting struct {
-	metav1.TypeMeta   `json:",inline"`
-	metav1.ObjectMeta `json:"metadata,omitempty"`
-	Spec              AviInfraSettingSpec `json:"spec,omitempty"`
-}
-
-type AviInfraSettingSpec struct {
-	Network     akov1beta1.AviInfraSettingNetwork `json:"network,omitempty"`
-	SeGroup     akov1beta1.AviInfraSettingSeGroup `json:"seGroup,omitempty"`
-	L7Settings  akov1beta1.AviInfraL7Settings     `json:"l7Settings,omitempty"`
-	NSXSettings *akov1beta1.AviInfraNSXSettings   `json:"nsxSettings,omitempty"`
+	return res, r.Patch(ctx, r.createAviInfraSetting(adc), client.Apply, client.ForceOwnership, client.FieldOwner("akodeploymentconfig-controller"))
 }
 
 func (r *AKODeploymentConfigReconciler) createAviInfraSetting(adc *akoov1alpha1.AKODeploymentConfig) *unstructured.Unstructured {
diff --git a/controllers/akodeploymentconfig/akodeploymentconfig_controller_types.go b/controllers/akodeploymentconfig/akodeploymentconfig_controller_types.go
new file mode 100644
index 00000000..bac06194
--- /dev/null
+++ b/controllers/akodeploymentconfig/akodeploymentconfig_controller_types.go
@@ -0,0 +1,25 @@
+// Copyright 2020 VMware, Inc.
+// SPDX-License-Identifier: Apache-2.0
+
+package akodeploymentconfig
+
+import (
+	akov1beta1 "github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/pkg/apis/ako/v1beta1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+// AviInfraSetting is a top-level type
+type AviInfraSetting struct {
+	metav1.TypeMeta   `json:",inline"`
+	metav1.ObjectMeta `json:"metadata,omitempty"`
+	Spec              AviInfraSettingSpec `json:"spec,omitempty"`
+}
+
+// AviInfraSettingSpec consists of the main AviInfraSetting settings
+// Redefine AviInfraSettingSpec so that NSXSettings value is not required when reconciling AKODeploymentConfig
+type AviInfraSettingSpec struct {
+	Network     akov1beta1.AviInfraSettingNetwork `json:"network,omitempty"`
+	SeGroup     akov1beta1.AviInfraSettingSeGroup `json:"seGroup,omitempty"`
+	L7Settings  akov1beta1.AviInfraL7Settings     `json:"l7Settings,omitempty"`
+	NSXSettings *akov1beta1.AviInfraNSXSettings   `json:"nsxSettings,omitempty"`
+}