diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 4008fcbdd8b7daa4c17b598c0a4360045ee4a3e1..f2859ed04d33fd55d2c35a6606223322839ada5d 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -798,6 +798,7 @@ static int agent_hangup(struct ast_channel *ast)
 				snprintf(agent, sizeof(agent), "Agent/%s", p->agent);
 				ast_queue_log("NONE", ast->uniqueid, agent, "AGENTCALLBACKLOGOFF", "%s|%ld|%s", p->loginchan, logintime, "Autologoff");
 				set_agentbycallerid(p->logincallerid, NULL);
+				ast_device_state_changed("Agent/%s", p->agent);
 				p->loginchan[0] = '\0';
 				p->logincallerid[0] = '\0';
 			}