diff --git a/sim/src/image.rs b/sim/src/image.rs
index 92df421..899989c 100644
--- a/sim/src/image.rs
+++ b/sim/src/image.rs
@@ -62,7 +62,10 @@
 }
 
 impl ImagesBuilder {
-    pub fn new(device: DeviceName, align: u8, erased_val: u8) -> Self {
+    /// Construct a new image builder for the given device.  Returns
+    /// Some(builder) if is possible to test this configuration, or None if
+    /// not possible (for example, if there aren't enough image slots).
+    pub fn new(device: DeviceName, align: u8, erased_val: u8) -> Option<Self> {
         let (flash, areadesc) = Self::make_device(device, align, erased_val);
 
         let (slot0_base, slot0_len, slot0_dev_id) = areadesc.find(FlashId::Image0);
@@ -87,11 +90,11 @@
             dev_id: slot1_dev_id,
         };
 
-        ImagesBuilder {
+        Some(ImagesBuilder {
             flash: flash,
             areadesc: areadesc,
             slots: vec![[slot0, slot1]],
-        }
+        })
     }
 
     pub fn each_device<F>(f: F)
@@ -100,8 +103,10 @@
         for &dev in ALL_DEVICES {
             for &align in &[1, 2, 4, 8] {
                 for &erased_val in &[0, 0xff] {
-                    let run = Self::new(dev, align, erased_val);
-                    f(run);
+                    match Self::new(dev, align, erased_val) {
+                        Some(run) => f(run),
+                        None => warn!("Skipping {:?}, insufficient partitions", dev),
+                    }
                 }
             }
         }
diff --git a/sim/src/lib.rs b/sim/src/lib.rs
index 58f5c59..43a1e5a 100644
--- a/sim/src/lib.rs
+++ b/sim/src/lib.rs
@@ -161,7 +161,13 @@
     pub fn run_single(&mut self, device: DeviceName, align: u8, erased_val: u8) {
         warn!("Running on device {} with alignment {}", device, align);
 
-        let run = ImagesBuilder::new(device, align, erased_val);
+        let run = match ImagesBuilder::new(device, align, erased_val) {
+            Some(builder) => builder,
+            None => {
+                warn!("Skipping device with insuffienct partitions");
+                return;
+            }
+        };
 
         let mut failed = false;
 
