The -runfw was treated as a Just In Time variable, i.e. it was initialized when it was needed and not eagerly. However, the JIT used the fact that the variable was empty to do the initialization. This works fine, unless you do not clear this variable in the prepare(). This caused -runfw to to be 'unalterable' once it had a member. 

Added this variable to the clear list ...