diff --git a/channels/chan_local.c b/channels/chan_local.c
index d53184462e5406a1f42f1b3ed5a8967a0f1faddf..aade7b2c256f0f51c5e7b2fb72a5e3438c802dab 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -574,6 +574,9 @@ static int local_hangup(struct ast_channel *ast)
 	} else {
 		p->owner = NULL;
 		ast_module_user_remove(p->u_owner);
+		if (p->chan) {
+			ast_queue_hangup(p->chan);
+		}
 	}
 	
 	ast->tech_pvt = NULL;