diff --git a/channels/chan_local.c b/channels/chan_local.c
index e79c82184d96b86acb8e1a37dd85c671b996764b..d371a0f7594842e63e71d4ed2fc405170953277f 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -183,8 +183,11 @@ static struct ast_channel *local_bridgedchannel(struct ast_channel *chan, struct
 		bridged = (bridge == p->owner ? p->chan : p->owner);
 		
 		/* Now see if the opposite channel is bridged to anything */
-		if (bridged->_bridge)
+		if (!bridged) {
+			bridged = bridge;
+		} else if (bridged->_bridge) {
 			bridged = bridged->_bridge;
+		}
 	}
 
 	ast_mutex_unlock(&p->lock);