diff --git a/apps/app_dial.c b/apps/app_dial.c
index e25f2d6daad5a79fc748ea1a55379661ecb27022..ac579fe94b2c5ef324857c53a0f682c83f6054ac 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1109,6 +1109,8 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
 			ast_log(LOG_NOTICE, "Unable to create channel of type '%s' (cause %d - %s)\n", tech, cause, ast_cause2str(cause));
 			HANDLE_CAUSE(cause, chan);
 			cur = rest;
+			if (!cur)
+				chan->hangupcause = cause;
 			continue;
 		}
 		pbx_builtin_setvar_helper(tmp->chan, "DIALEDPEERNUMBER", numsubst);