diff --git a/provisioner.go b/provisioner.go
index a5318499a57e7ce9b9332423dbca79bb1ad1d5c4..9265ba98e2fc4b2d52a966f38a6ea8a3411dcb76 100644
--- a/provisioner.go
+++ b/provisioner.go
@@ -282,16 +282,17 @@ func (p *LocalPathProvisioner) Provision(ctx context.Context, opts pvController.
 	fs := v1.PersistentVolumeFilesystem
 
 	var pvs v1.PersistentVolumeSource
-	if pvcVal, ok := opts.PVC.GetAnnotations()["volumeType"]; ok {
-		// volume type specified in PVC
-		pvs = createPersistentVolumeSource(pvcVal, path)
-	} else if scVal, ok := opts.StorageClass.GetAnnotations()["defaultVolumeType"]; ok {
-		// default volume type provided for storage class
-		pvs = createPersistentVolumeSource(scVal, path)
+	defaultVolumeType := "hostPath"
+	if dVal, ok := opts.StorageClass.GetAnnotations()["defaultVolumeType"]; ok {
+		defaultVolumeType = dVal
+	}
+	var volumeType string
+	if val, ok := opts.PVC.GetAnnotations()["volumeType"]; ok {
+		volumeType = val
 	} else {
-		// volume type unspecified, we default to hostPath
-		pvs = createPersistentVolumeSource("hostPath", path)
+		volumeType = defaultVolumeType
 	}
+	pvs = createPersistentVolumeSource(volumeType, path)
 
 	var nodeAffinity *v1.VolumeNodeAffinity
 	if sharedFS {