diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 6846be92f4f47a1b88aba77589a92e430796fa9f..bb908e66175c9c9239e24e5998eaee2c123d1cfc 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -3323,14 +3323,14 @@ static int iax2_answer(struct ast_channel *c)
 static int iax2_indicate(struct ast_channel *c, int condition, const void *data, size_t datalen)
 {
 	unsigned short callno = PTR_TO_CALLNO(c->tech_pvt);
-	struct chan_iax2_pvt *pvt = c->tech_pvt;
+	struct chan_iax2_pvt *pvt;
 	int res = 0;
 
 	if (option_debug && iaxdebug)
 		ast_log(LOG_DEBUG, "Indicating condition %d\n", condition);
 
 	ast_mutex_lock(&iaxsl[callno]);
-
+	pvt = iaxs[callno];
 	if (!strcasecmp(pvt->mohinterpret, "passthrough")) {
 		res = send_command(pvt, AST_FRAME_CONTROL, condition, 0, data, datalen, -1);
 		ast_mutex_unlock(&iaxsl[callno]);