In navigating through the source, it does not look like it is possible (at least not easily) to unregister a button handler.
Could you work around this by refactoring your command to take into account the SOME_CONDITION? For example if the difference is only in your execute() method, could you change your command implementation to:
Code:
protected void execute() {
if (SOME_CONDITION) {
executeCondition();
} else {
executeNormal();
}
}