diff --git a/unix/main.c b/unix/main.c
index 84570eb9f69c54518897c36ef6b1ca20fa0a176f..93156d66e6f8d46ad29977a635fe8b9554033353 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -375,6 +375,10 @@ STATIC void pre_process_options(int argc, char **argv) {
                     if (word_adjust) {
                         heap_size = heap_size * BYTES_PER_WORD / 4;
                     }
+                    // If requested size too small, we'll crash anyway
+                    if (heap_size < 700) {
+                        goto invalid_arg;
+                    }
 #endif
                 } else {
 invalid_arg: