diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index c12a8581a46c700625a50a61a20bb112745c5a89..f5c4e3a5112f6669c7b5934bd7f9611245dfbd18 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -383,16 +383,14 @@ static int agent_write(struct ast_channel *ast, struct ast_frame *f)
 static int agent_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
 {
 	struct agent_pvt *p = newchan->pvt->pvt;
-	if (needlock)
-		ast_mutex_lock(&p->lock);
+	ast_mutex_lock(&p->lock);
 	if (p->owner != oldchan) {
 		ast_log(LOG_WARNING, "old channel wasn't %p but was %p\n", oldchan, p->owner);
 		ast_mutex_unlock(&p->lock);
 		return -1;
 	}
 	p->owner = newchan;
-	if (needlock)
-		ast_mutex_unlock(&p->lock);
+	ast_mutex_unlock(&p->lock);
 	return 0;
 }
 
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index ca68cb6817d1e39c0b3d46e4fa07946016793477..b29f6977be96775b687853553c69ca59e582d4e7 100755
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -626,15 +626,13 @@ static int oh323_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
 {
 	struct oh323_pvt *p = newchan->pvt->pvt;
 
-	if (needlock)
-		ast_mutex_lock(&p->lock);
+	ast_mutex_lock(&p->lock);
 	if (p->owner != oldchan) {
 		ast_log(LOG_WARNING, "old channel wasn't %p but was %p\n", oldchan, p->owner);
 		return -1;
 	}
 	p->owner = newchan;
-	if (needlock)
-		ast_mutex_unlock(&p->lock);
+	ast_mutex_unlock(&p->lock);
 	return 0;
 }