Fix a bug where when/unless was computing nodes wrong

Hello @azulus, 

Please review the following commits I made in branch 'nick-when'.

430edb1885c0eba0a8ebd98a31e64e6e9c979774 (2013-05-30 18:45:56 -0400)
Fix a bug where when/unless was computing nodes wrong 

R=@azulus