diff --git a/include/asterisk/astmm.h b/include/asterisk/astmm.h
index 6086509ab73631c451bff9e7abc36a871159b2c1..1d778d4c5388c5eaf8980492825b5510f453d10c 100644
--- a/include/asterisk/astmm.h
+++ b/include/asterisk/astmm.h
@@ -95,21 +95,21 @@ void __ast_mm_init_phase_2(void);
 	__ast_vasprintf(a,b,c,__FILE__, __LINE__, __PRETTY_FUNCTION__)
 #else
 #define calloc(a,b) \
-	Do_not_use_calloc__use_ast_calloc(a,b)
+	Do_not_use_calloc__use_ast_calloc->fail(a,b)
 #define malloc(a) \
-	Do_not_use_malloc__use_ast_malloc(a)
+	Do_not_use_malloc__use_ast_malloc->fail(a)
 #define free(a) \
-	Do_not_use_free__use_ast_free_or_ast_std_free_for_remotely_allocated_memory(a)
+	Do_not_use_free__use_ast_free_or_ast_std_free_for_remotely_allocated_memory->fail(a)
 #define realloc(a,b) \
-	Do_not_use_realloc__use_ast_realloc(a,b)
+	Do_not_use_realloc__use_ast_realloc->fail(a,b)
 #define strdup(a) \
-	Do_not_use_strdup__use_ast_strdup(a)
+	Do_not_use_strdup__use_ast_strdup->fail(a)
 #define strndup(a,b) \
-	Do_not_use_strndup__use_ast_strndup(a,b)
+	Do_not_use_strndup__use_ast_strndup->fail(a,b)
 #define asprintf(a, b, c...) \
-	Do_not_use_asprintf__use_ast_asprintf(a,b,c)
+	Do_not_use_asprintf__use_ast_asprintf->fail(a,b,c)
 #define vasprintf(a,b,c) \
-	Do_not_use_vasprintf__use_ast_vasprintf(a,b,c)
+	Do_not_use_vasprintf__use_ast_vasprintf->fail(a,b,c)
 #endif
 
 /* Provide our own definitions */
diff --git a/res/res_fax_spandsp.c b/res/res_fax_spandsp.c
index 288f91dac098f116cab2344c1c445cba14ca7b19..42492273d8a0058766a87ec1740879c7e3089460 100644
--- a/res/res_fax_spandsp.c
+++ b/res/res_fax_spandsp.c
@@ -48,14 +48,16 @@
 	<support_level>extended</support_level>
 ***/
 
-#include "asterisk.h"
-
-ASTERISK_REGISTER_FILE()
-
+/* Include spandsp headers before asterisk.h so the inline functions can continue using
+ * malloc and free, even with MALLOC_DEBUG enabled. */
 #define SPANDSP_EXPOSE_INTERNAL_STRUCTURES
 #include <spandsp.h>
 #include <spandsp/version.h>
 
+#include "asterisk.h"
+
+ASTERISK_REGISTER_FILE()
+
 #include "asterisk/logger.h"
 #include "asterisk/module.h"
 #include "asterisk/strings.h"