diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index c22c650ad5ecaa9848def6482c008f4c42879cf1..2b88d62457a07774a9f05d4b75fde1b55b0acdb6 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -1687,6 +1687,7 @@ static int __login_exec(struct ast_channel *chan, void *data, int callbackmode)
 	char agent_goodbye[AST_MAX_FILENAME_LEN];
 	int update_cdr = updatecdr;
 	char *filename = "agent-loginok";
+	char tmpchan[AST_MAX_BUF] = "";
 
 	LOCAL_USER_ADD(u);
 
@@ -1817,7 +1818,6 @@ static int __login_exec(struct ast_channel *chan, void *data, int callbackmode)
 					snprintf(agent, sizeof(agent), "Agent/%s", p->agent);
 
 					if (callbackmode) {
-						char tmpchan[AST_MAX_BUF] = "";
 						int pos = 0;
 						/* Retrieve login chan */
 						for (;;) {