diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 67855ba685072c9f3f5c6b7f6cb9e3cf05aa7400..aa754b75cd0f8b1dbcff8b871b4cadb5cc7b68b0 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -436,6 +436,8 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
 		int part;
 
 		desc = blk_get_dev(dev, simple_strtol(devnr, NULL, 10));
+		if (!desc)
+			return;
 		part = parse_partnum(devnr);
 
 		bootefi_device_path = efi_dp_from_part(desc, part);