If you try to move in an invalid direction you get the messge "There is no route to the east. Only north and east".
This contradicts itself if east has a restriction that blocks movement.
This message uses %Player%.Location.Exits.List, but that lists ALL the exits, when we only want to list the exits that are not blocked by restrictions.
The easiest way to fix this would be to add a filter option to the "Exits" property that eliminates any exits that are currently blocked by restrictions.
%Player%.Location.Exits(open).List would then only list the exits that are valid routes at the moment.
The "obsolete" function %ListExits[Player]% gives the correct exits unlike %Player%.Location.Exits.List. I mention this as it gives a workaround until the bug is fixed.
EDIT: Note that before replacing the old expression with the new expression you need to add quotation marks, otherwise the expression will be stripped for Spaces and you can get responses like: There is no route to the north, only eastandsouth.
So to be precise:
"%ListExits[%Player%]%" (remember the quotation marks!)