diff --git a/apps/app_queue.c b/apps/app_queue.c
index 834e090829107dd65cd9e94cf4265bbf5f7d93a2..f042c06deb7ec26084ff3d633b0aadba62252733 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1291,17 +1291,32 @@ static int queue_cmp_cb(void *obj, void *arg, int flags)
 }
 
 #ifdef REF_DEBUG_ONLY_QUEUES
-#define queue_ref(a)	__ao2_ref_debug(a,1,"",__FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define queue_unref(a)	__ao2_ref_debug(a,-1,"",__FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define queue_t_ref(a,b)	__ao2_ref_debug(a,1,b,__FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define queue_t_unref(a,b)	__ao2_ref_debug(a,-1,b,__FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define queues_t_link(c,q,tag)	__ao2_link_debug(c,q,tag,__FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define queues_t_unlink(c,q,tag)	__ao2_unlink_debug(c,q,tag,__FILE__,__LINE__,__PRETTY_FUNCTION__)
+#define queue_ref(q)				_queue_ref(q, "", __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define queue_unref(q)				_queue_unref(q, "", __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define queue_t_ref(q, tag)			_queue_ref(q, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define queue_t_unref(q, tag)		_queue_unref(q, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define queues_t_link(c, q, tag)	__ao2_link_debug(c, q, 0, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__)
+#define queues_t_unlink(c, q, tag)	__ao2_unlink_debug(c, q, 0, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__)
+
+static inline struct call_queue *_queue_ref(struct call_queue *q, const char *tag, const char *file, int line, const char *filename)
+{
+	__ao2_ref_debug(q, 1, tag, file, line, filename);
+	return q;
+}
+
+static inline struct call_queue *_queue_unref(struct call_queue *q, const char *tag, const char *file, int line, const char *filename)
+{
+	__ao2_ref_debug(q, -1, tag, file, line, filename);
+	return NULL;
+}
+
 #else
-#define queue_t_ref(a,b)	queue_ref(a)
-#define queue_t_unref(a,b)	queue_unref(a)
-#define queues_t_link(c,q,tag)	ao2_t_link(c,q,tag)
-#define queues_t_unlink(c,q,tag)	ao2_t_unlink(c,q,tag)
+
+#define queue_t_ref(q, tag)			queue_ref(q)
+#define queue_t_unref(q, tag)		queue_unref(q)
+#define queues_t_link(c, q, tag)	ao2_t_link(c, q, tag)
+#define queues_t_unlink(c, q, tag)	ao2_t_unlink(c, q, tag)
+
 static inline struct call_queue *queue_ref(struct call_queue *q)
 {
 	ao2_ref(q, 1);
diff --git a/main/channel.c b/main/channel.c
index ded41da29564889cad2c8bec29b5a20eb44c20d8..c900d0e65c55cf5024f84e09770d5aa0c4d2b7e2 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -931,11 +931,11 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char
 	}
 
 #if defined(REF_DEBUG)
-	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_channel_destructor, "", file, line,
-		function, 1);
+	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_channel_destructor,
+		AO2_ALLOC_OPT_LOCK_MUTEX, "", file, line, function, 1);
 #elif defined(__AST_DEBUG_MALLOC)
-	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_channel_destructor, "", file, line,
-		function, 0);
+	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_channel_destructor,
+		AO2_ALLOC_OPT_LOCK_MUTEX, "", file, line, function, 0);
 #else
 	tmp = ao2_alloc(sizeof(*tmp), ast_channel_destructor);
 #endif
@@ -1179,11 +1179,11 @@ struct ast_channel *ast_dummy_channel_alloc(void)
 	struct varshead *headp;
 
 #if defined(REF_DEBUG)
-	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_dummy_channel_destructor, "dummy channel",
-		file, line, function, 1);
+	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_dummy_channel_destructor,
+		AO2_ALLOC_OPT_LOCK_MUTEX, "dummy channel", file, line, function, 1);
 #elif defined(__AST_DEBUG_MALLOC)
-	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_dummy_channel_destructor, "dummy channel",
-		file, line, function, 0);
+	tmp = __ao2_alloc_debug(sizeof(*tmp), ast_dummy_channel_destructor,
+		AO2_ALLOC_OPT_LOCK_MUTEX, "dummy channel", file, line, function, 0);
 #else
 	tmp = ao2_alloc(sizeof(*tmp), ast_dummy_channel_destructor);
 #endif
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 6411af2426e2acb0dc4bf2d5a1068e9f4d4f5fe9..37d34780996c38921166a6e52afca90b3fcaf290 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -889,7 +889,8 @@ static struct mohclass *_get_mohbyname(const char *name, int warn, int flags, co
 	ast_copy_string(tmp_class.name, name, sizeof(tmp_class.name));
 
 #ifdef REF_DEBUG
-	moh = __ao2_find_debug(mohclasses, &tmp_class, flags, "get_mohbyname", (char *) file, lineno, funcname);
+	moh = __ao2_find_debug(mohclasses, &tmp_class, flags,
+		"get_mohbyname", file, lineno, funcname);
 #else
 	moh = __ao2_find(mohclasses, &tmp_class, flags);
 #endif
@@ -1338,9 +1339,11 @@ static struct mohclass *_moh_class_malloc(const char *file, int line, const char
 
 	if ((class =
 #ifdef REF_DEBUG
-			__ao2_alloc_debug(sizeof(*class), moh_class_destructor, "Allocating new moh class", file, line, funcname, 1)
+			__ao2_alloc_debug(sizeof(*class), moh_class_destructor,
+				AO2_ALLOC_OPT_LOCK_MUTEX, "Allocating new moh class", file, line, funcname, 1)
 #elif defined(__AST_DEBUG_MALLOC)
-			__ao2_alloc_debug(sizeof(*class), moh_class_destructor, "Allocating new moh class", file, line, funcname, 0)
+			__ao2_alloc_debug(sizeof(*class), moh_class_destructor,
+				AO2_ALLOC_OPT_LOCK_MUTEX, "Allocating new moh class", file, line, funcname, 0)
 #else
 			ao2_alloc(sizeof(*class), moh_class_destructor)
 #endif