diff --git a/config/grub/config/grub.cfg b/config/grub/config/grub.cfg
index 17576b5fa84bec5b74a4ad8ed426ae1cf7374d2c..b25f9fab7dad43d8e8478450d3cfcb09d49571ed 100644
--- a/config/grub/config/grub.cfg
+++ b/config/grub/config/grub.cfg
@@ -42,15 +42,17 @@ fi
 
 function try_user_config {
 	set root="${1}"
-
 	# The @/... entries are for cases where the BTRFS filesystem is being used
 	for dir in boot grub grub2 boot/grub boot/grub2 @/boot @/grub @/grub2 @/boot/grub @/boot/grub2; do
-		for name in '' osboot_ autoboot_ libreboot_ coreboot_; do
-			if [ -f /"${dir}"/"${name}"grub.cfg ]; then
-				unset superusers
-				configfile /"${dir}"/"${name}"grub.cfg
-			fi
-		done
+                # In order to save time, we do not attempt anything on non existing directory.
+                if [ -d /"${dir}"/ ]; then
+			for name in '' osboot_ autoboot_ libreboot_ coreboot_; do
+				if [ -f /"${dir}"/"${name}"grub.cfg ]; then
+					unset superusers
+					configfile /"${dir}"/"${name}"grub.cfg
+				fi
+			done
+		fi
 	done
 }
 function search_grub {