diff --git a/pkg/webhooks/machine_webhook.go b/pkg/webhooks/machine_webhook.go
index 51bddaa0cf139a267e82d6225d07f308a154d36f..6ba53d4776ecfe7ef5d3f38241456381b3e9a331 100644
--- a/pkg/webhooks/machine_webhook.go
+++ b/pkg/webhooks/machine_webhook.go
@@ -52,11 +52,14 @@ var (
 	defaultAzureNetworkResourceGroup = func(clusterID string) string {
 		return fmt.Sprintf("%s-rg", clusterID)
 	}
-	defaultAzureImageResourceID = func(clusterID string) string {
-		// image gallery names cannot have dashes
-		galleryName := strings.Replace(clusterID, "-", "_", -1)
-
-		return fmt.Sprintf("/resourceGroups/%s/providers/Microsoft.Compute/galleries/gallery_%s/images/%s/versions/%s", clusterID+"-rg", galleryName, clusterID, azureRHCOSVersion)
+	defaultAzureImage = func() machinev1beta1.Image {
+		return machinev1beta1.Image{
+			Publisher: "RedHat",
+			Offer:     "rhcos",
+			SKU:       "basic",
+			Version:   "latest",
+			Type:      machinev1beta1.AzureImageTypeMarketplaceNoPlan,
+		}
 	}
 	defaultAzureManagedIdentiy = func(clusterID string) string {
 		return fmt.Sprintf("%s-identity", clusterID)
@@ -135,7 +138,6 @@ const (
 	azureCachingTypeNone               = "None"
 	azureCachingTypeReadOnly           = "ReadOnly"
 	azureCachingTypeReadWrite          = "ReadWrite"
-	azureRHCOSVersion                  = "412.86.202209220538-0"
 
 	// GCP Defaults
 	defaultGCPMachineType       = "n1-standard-4"
@@ -890,7 +892,7 @@ func defaultAzure(m *machinev1beta1.Machine, config *admissionConfig) (bool, []s
 	}
 
 	if providerSpec.Image == (machinev1beta1.Image{}) {
-		providerSpec.Image.ResourceID = defaultAzureImageResourceID(config.clusterID)
+		providerSpec.Image = defaultAzureImage()
 	}
 
 	if providerSpec.UserDataSecret == nil {
diff --git a/pkg/webhooks/machine_webhook_test.go b/pkg/webhooks/machine_webhook_test.go
index 8cb2ef6c4be7beb8ce13cbaef3da93b0a81785ba..50ae36eb100210f927ebb4a3c1a2a637322d69e4 100644
--- a/pkg/webhooks/machine_webhook_test.go
+++ b/pkg/webhooks/machine_webhook_test.go
@@ -1198,11 +1198,9 @@ func TestMachineUpdate(t *testing.T) {
 		Vnet:                 defaultAzureVnet(azureClusterID),
 		Subnet:               defaultAzureSubnet(azureClusterID),
 		NetworkResourceGroup: defaultAzureNetworkResourceGroup(azureClusterID),
-		Image: machinev1beta1.Image{
-			ResourceID: defaultAzureImageResourceID(azureClusterID),
-		},
-		ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
-		ResourceGroup:   defaultAzureResourceGroup(azureClusterID),
+		Image:                defaultAzureImage(),
+		ManagedIdentity:      defaultAzureManagedIdentiy(azureClusterID),
+		ResourceGroup:        defaultAzureResourceGroup(azureClusterID),
 		UserDataSecret: &corev1.SecretReference{
 			Name:      defaultUserDataSecret,
 			Namespace: defaultSecretNamespace,
@@ -2777,9 +2775,7 @@ func TestDefaultAzureProviderSpec(t *testing.T) {
 				VMSize: defaultAzureVMSize,
 				Vnet:   defaultAzureVnet(clusterID),
 				Subnet: defaultAzureSubnet(clusterID),
-				Image: machinev1beta1.Image{
-					ResourceID: defaultAzureImageResourceID(clusterID),
-				},
+				Image:  defaultAzureImage(),
 				UserDataSecret: &corev1.SecretReference{
 					Name: defaultUserDataSecret,
 				},
diff --git a/pkg/webhooks/machineset_webhook_test.go b/pkg/webhooks/machineset_webhook_test.go
index 10b70a481eb33fa23b24fb7fdaf0dd2846f320af..13f58fcd8ac37eca93e787a1385e2f486b69f45b 100644
--- a/pkg/webhooks/machineset_webhook_test.go
+++ b/pkg/webhooks/machineset_webhook_test.go
@@ -582,11 +582,9 @@ func TestMachineSetUpdate(t *testing.T) {
 		Vnet:                 defaultAzureVnet(azureClusterID),
 		Subnet:               defaultAzureSubnet(azureClusterID),
 		NetworkResourceGroup: defaultAzureNetworkResourceGroup(azureClusterID),
-		Image: machinev1beta1.Image{
-			ResourceID: defaultAzureImageResourceID(azureClusterID),
-		},
-		ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
-		ResourceGroup:   defaultAzureResourceGroup(azureClusterID),
+		Image:                defaultAzureImage(),
+		ManagedIdentity:      defaultAzureManagedIdentiy(azureClusterID),
+		ResourceGroup:        defaultAzureResourceGroup(azureClusterID),
 		UserDataSecret: &corev1.SecretReference{
 			Name:      defaultUserDataSecret,
 			Namespace: defaultSecretNamespace,