Method SafepointSynchronize::block() contains a call to handle_special_runtime_exit_condition() that prevents JTs transitioning back to Java from escaping after being externally suspended. This can happen when calling SafepointMechanism::process_if_requested() from handle_polling_page_exception(), java_suspend_self_with_safepoint_check() and check_safepoint_and_suspend_for_native_trans(). The check can be removed if we just make small fixes to these methods. Removing the call to handle_special_runtime_exit_condition() in SS::block() avoids having to think about recursive cases when transitioning and stopping for safepoints. The call also introduces noise while reading the code since it is not clear what exactly we are trying to prevent with it.