diff --git a/lib/vagrant-vbguest/installers/linux.rb b/lib/vagrant-vbguest/installers/linux.rb
index <HASH>..<HASH> 100644
--- a/lib/vagrant-vbguest/installers/linux.rb
+++ b/lib/vagrant-vbguest/installers/linux.rb
@@ -78,7 +78,7 @@ module VagrantVbguest
         opts = {
           :sudo => true
         }.merge(opts || {})
-        communicate.test('lsmod | grep vboxguest && test -e /lib/modules/`uname -r`/misc/vboxsf.ko', opts, &block)
+        communicate.test('grep -qE "^vboxguest\s.+\s\([^\s]*O[^\s]*\)$" /proc/modules && test -e /lib/modules/`uname -r`/misc/vboxsf.ko', opts, &block)
       end
 
       # This overrides {VagrantVbguest::Installers::Base#guest_version}
Better detection of "running" guest additions

Avoid detecting the guest additions as running when the in-kernel module
is loaded and the additions have just been built.