Fix extra call to region.empty() #1920

Add a failing test case for #1920 and then fix the bug
not sure why this used _.bind() before? but changed to make the on/off calls match