diff --git a/main/format.c b/main/format.c
index 83206f28c7b457edf57fb062f8a6c95108e114e0..e54fca01b4af7798b9ee1e64b1f750c79eac4d1b 100644
--- a/main/format.c
+++ b/main/format.c
@@ -247,7 +247,7 @@ enum ast_format_cmp_res ast_format_cmp(const struct ast_format *format1, const s
 
 	interface = format1->interface ? format1->interface : format2->interface;
 
-	if (interface) {
+	if (interface && interface->format_cmp) {
 		return interface->format_cmp(format1, format2);
 	}