diff --git a/main/channel.c b/main/channel.c
index 2ba4d3d108200a049586b5d06bae32270f53c4c5..dc99dfda92fc830927f097be188cc2922cee4334 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -3244,6 +3244,11 @@ static int ast_channel_make_compatible_helper(struct ast_channel *from, struct a
 	int src;
 	int dst;
 
+	if (from->readformat == to->writeformat && from->writeformat == to->readformat) {
+		/* Already compatible!  Moving on ... */
+		return 0;
+	}
+
 	/* Set up translation from the 'from' channel to the 'to' channel */
 	src = from->nativeformats;
 	dst = to->nativeformats;