diff --git a/apps/app_dial.c b/apps/app_dial.c
index c3cc26243210f74a4e411ad0fb8ac33efc702890..6c1501b635ccdcbc97f90eef158c58ff4fdac6ad 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -505,9 +505,9 @@ static void do_forward(struct dial_localuser *o,
 				ast_set_callerid(c, S_OR(in->macroexten, in->exten), get_cid_name(cidname, sizeof(cidname), in), NULL);
 			}
 		}
+		/* Hangup the original channel now, in case we needed it */
+		ast_hangup(c);
 	}
-	/* Hangup the original channel now, in case we needed it */
-	ast_hangup(c);
 }
 
 /* argument used for some functions. */