diff --git a/builder/vsphere/common/config_location.go b/builder/vsphere/common/config_location.go
index <HASH>..<HASH> 100644
--- a/builder/vsphere/common/config_location.go
+++ b/builder/vsphere/common/config_location.go
@@ -3,7 +3,11 @@
 
 package common
 
-import "fmt"
+import (
+	"fmt"
+	"path"
+	"strings"
+)
 
 type LocationConfig struct {
 	// Name of the new VM to create.
@@ -38,5 +42,9 @@ func (c *LocationConfig) Prepare() []error {
 		errs = append(errs, fmt.Errorf("'host' or 'cluster' is required"))
 	}
 
+	// clean Folder path and remove leading slash as folders are relative within vsphere
+	c.Folder = path.Clean(c.Folder)
+	c.Folder = strings.TrimLeft(c.Folder, "/")
+
 	return errs
 }
clean up folder path so that it is what vsphere expects