diff --git a/src/uncategorized/assign.tw b/src/uncategorized/assign.tw
index 9163b7fa85efa35d2aa51a573d6dde1c341ee2e3..8123183ad6c51bb1f90e9d88eaa47c4a942f8593 100644
--- a/src/uncategorized/assign.tw
+++ b/src/uncategorized/assign.tw
@@ -1,8 +1,10 @@
 :: Assign [nobr]
 
-<<if $i >= 0 && $i <= $slaves.length && (ndef $activeSlave || $activeSlave.ID != $slaves[$i].ID)>> /* don't overwrite activeSlave unnecessarily */
+<<if $i >= 0 && $i < $slaves.length && ((ndef $activeSlave) || $activeSlave.ID != $slaves[$i].ID)>> /* don't overwrite activeSlave unnecessarily */
 	<<set $activeSlave = $slaves[$i]>>
-<<elseif (ndef $activeSlave)>>
+<</if>>
+
+<<if (ndef $activeSlave)>>
 	@@.red;ERROR: $activeSlave undefined in Assign.tw, $$i = $i, previous passage was '<<print previous()>>'@@ <<link "Continue">><<goto $returnTo>><</link>>
 <<else>>