diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot
--- a/usr.sbin/bsdinstall/scripts/zfsboot
+++ b/usr.sbin/bsdinstall/scripts/zfsboot
@@ -667,7 +667,8 @@
 			for disk in $ZFSBOOT_DISKS; do
 				debug= f_device_find -1 \
 					$disk $DEVICE_TYPE_DISK disk
-				local _${disk}_status
+				f_isset _${disk}_status ||
+					local _${disk}_status
 				setvar _${disk}_status on
 			done