diff --git a/manifests/grub2/rebuild_grub_cfg.pp b/manifests/grub2/rebuild_grub_cfg.pp
index 498f8900a6bb6d40135f708dce88dc99817014f4..d63944b9255704b2a0b0946e93610b7909b312de 100644
--- a/manifests/grub2/rebuild_grub_cfg.pp
+++ b/manifests/grub2/rebuild_grub_cfg.pp
@@ -1,4 +1,4 @@
-# Copyright © 2017   Thomas Bellman, Linköping, Sweden
+# Copyright © 2017-2018   Thomas Bellman, Linköping, Sweden
 # Licensed under the GNU LGPL v3+; see the README file for more information.
 
 
@@ -9,8 +9,9 @@ class bootloader::grub2::rebuild_grub_cfg
 {
     exec {
 	'bootloader::grub2::rebuild_grub_cfg':
-	    command => 'grub2-mkconfig -o /boot/grub2/grub.cfg',
+	    command => 'if [ -f /etc/grub2-efi.cfg ]; then grub2-mkconfig -o /etc/grub2-efi.cfg; else grub2-mkconfig -o /boot/grub2/grub.cfg; fi',
 	    path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
+	    provider => 'shell',
 	    refreshonly => true;
     }
 }