diff --git a/lib/vagrant-lxc/driver.rb b/lib/vagrant-lxc/driver.rb
index 0544057..80ff65d 100644
--- a/lib/vagrant-lxc/driver.rb
+++ b/lib/vagrant-lxc/driver.rb
@@ -87,26 +87,14 @@ module Vagrant
 
       def share_folders(folders)
         folders.each do |f|
-          share_folder(f[:hostpath], f[:guestpath], f.fetch(:mount_options, 'bind'))
+          share_folder(f[:hostpath], f[:guestpath], f.fetch(:mount_options, nil))
         end
       end
 
       def share_folder(host_path, guest_path, mount_options = nil)
-        guest_path      = guest_path.gsub(/^\//, '')
-        guest_full_path = rootfs_path.join(guest_path)
-
-        unless guest_full_path.directory?
-          begin
-            @logger.debug("Guest path doesn't exist, creating: #{guest_full_path}")
-            @sudo_wrapper.run('mkdir', '-p', guest_full_path.to_s)
-          rescue Errno::EACCES
-            raise Vagrant::Errors::SharedFolderCreateFailed, :path => guest_path.to_s
-          end
-        end
-
-        mount_options = Array(mount_options || ['bind'])
+        guest_path      = guest_path.gsub(/^\//, '').gsub(' ', '\\\040')
+        mount_options = Array(mount_options || ['bind', 'create=dir'])
         host_path     = host_path.to_s.gsub(' ', '\\\040')
-        guest_path    = guest_path.gsub(' ', '\\\040')
         @customizations << ['mount.entry', "#{host_path} #{guest_path} none #{mount_options.join(',')} 0 0"]
       end
 
diff --git a/spec/unit/driver_spec.rb b/spec/unit/driver_spec.rb
index 0ca2825..0aed4b5 100644
--- a/spec/unit/driver_spec.rb
+++ b/spec/unit/driver_spec.rb
@@ -192,14 +192,10 @@ describe Vagrant::LXC::Driver do
         subject.share_folders(folders)
       end
 
-      it "creates guest folder under container's rootfs" do
-        expect(sudo_wrapper).to have_received(:run).with("mkdir", "-p", "#{rootfs_path}/#{expected_guest_path}")
-      end
-
       it 'adds a mount.entry to its local customizations' do
         expect(subject.customizations).to include [
           'mount.entry',
-          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind 0 0"
+          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind,create=dir 0 0"
         ]
       end
 
@@ -213,7 +209,7 @@ describe Vagrant::LXC::Driver do
       it 'supports directories with spaces' do
         expect(subject.customizations).to include [
           'mount.entry',
-          "/path/with\\040space tmp/with\\040space none bind 0 0"
+          "/path/with\\040space tmp/with\\040space none bind,create=dir 0 0"
         ]
       end
     end
@@ -243,7 +239,7 @@ describe Vagrant::LXC::Driver do
       it 'adds a mount.entry to its local customizations' do
         expect(subject.customizations).to include [
           'mount.entry',
-          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind 0 0"
+          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind,create=dir 0 0"
         ]
       end
     end
@@ -273,7 +269,7 @@ describe Vagrant::LXC::Driver do
       it 'adds a mount.entry to its local customizations' do
         expect(subject.customizations).to include [
           'mount.entry',
-          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind 0 0"
+          "#{shared_folder[:hostpath]} #{expected_guest_path} none bind,create=dir 0 0"
         ]
       end
     end