fix more edge cases in redstone handling