diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 9f412703bb933a67d58d772354b14b9ca2e21c6b..a95e4f95f970b44e5440c9ff019ab9c19745ff0f 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -3817,7 +3817,7 @@ static struct ast_frame *zt_handle_event(struct ast_channel *ast)
 						} else {
 							/* Lets see what we're up to */
 							if (((ast->pbx) || (ast->_state == AST_STATE_UP)) && 
-							    (!p->transfertobusy && (p->owner->_state != AST_STATE_BUSY))) {
+							    (p->transfertobusy || (p->owner->_state != AST_STATE_BUSY))) {
 								int otherindex = SUB_THREEWAY;
 
 								if (option_verbose > 2)