diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c
index f537875bc83f7eb1ddaa530b2d7aba78ad2332eb..f21a051a3ba0a3ac30f85c039f46e87b3f9389ca 100644
--- a/apps/app_chanspy.c
+++ b/apps/app_chanspy.c
@@ -456,8 +456,10 @@ static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chansp
 	}
 	ast_mutex_unlock(&spyee_chanspy_ds->lock);
 
-	if (!spyee)
+	if (!spyee) {
+		ast_channel_unlock(spyee);
 		return 0;
+	}
 
 	/* We now hold the channel lock on spyee */