diff --git a/channels/chan_local.c b/channels/chan_local.c
index fbe1e530e04a06260021ea31136923829d189191..a0253b8638bd2c41c541e391f7ca3f8b3317c4e0 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -879,6 +879,7 @@ static int local_hangup(struct ast_channel *ast)
 				ao2_lock(p);
 			}
 			if (p->owner) {
+				p->owner->hangupcause = p->chan->hangupcause;
 				pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status);
 				ast_channel_unlock(p->owner);
 			}