Fix error in implementation of error exiting

0b9e816 provided proper deallocation in the event of an error. The
new freeScope function frees AND ascends scope so the extra line
(tha's being removed here) was causing alternate scopes to be
missed (and hence leaking memory)