Actually, here's a better solution, one where you don't have to patch each page.
I've attached an updated game file for you which has a function added to it, which replaces the core HandleCommand that's giving you trouble with one that won't. You can just take the attached file and continue from there.
In case you're curious or wish to patch it yourself - to patch another game or the same if you've advanced it - then I just added the following (in Code View) above the closing </asl> tag in the game:
<function name="HandleCommand" parameters="command">
<![CDATA[
if (command = "undo") {
// ignore
}
else {
newpage = GetObject(command)
if (newpage = null) {
msg ("Error - no page named '" + command + "'")
}
else {
if (not game.clearlastpage and HasAttribute(player.parent, "options")) {
if (DictionaryContains(player.parent.options, command)) {
optiontext = StringDictionaryItem(player.parent.options, command)
msg ("<b>" + optiontext + "</b>")
msg ("")
}
JS.disableAllCommandLinks()
}
player.parent = GetObject(command)
}
}
]]>
</function>
It just adds the "and HasAttribute(player.parent, "options")" part to the "if".
With this change, you don't need to go through the irritating workaround I posted above.