diff --git a/main/astobj2.c b/main/astobj2.c
index cecef7c66f03833ec94258187b497244962a7d63..da52ab1f0d8b72c24eaec695a0f984439c8f9c9c 100644
--- a/main/astobj2.c
+++ b/main/astobj2.c
@@ -685,7 +685,6 @@ static void *internal_ao2_callback(struct ao2_container *c,
 				match &= cb_default(EXTERNAL_OBJ(cur->astobj), arg, flags);
 			}
 
-			/* we found the object, performing operations according flags */
 			if (match == 0) {	/* no match, no stop, continue */
 				continue;
 			} else if (match == CMP_STOP) {	/* no match but stop, we are done */
@@ -693,6 +692,7 @@ static void *internal_ao2_callback(struct ao2_container *c,
 				break;
 			}
 
+			/* we found the object, performing operations according flags */
 			/* we have a match (CMP_MATCH) here */
 			if (!(flags & OBJ_NODATA)) {	/* if must return the object, record the value */
 				/* it is important to handle this case before the unlink */
@@ -719,12 +719,6 @@ static void *internal_ao2_callback(struct ao2_container *c,
 				AST_LIST_REMOVE_CURRENT(entry);
 				/* update number of elements */
 				ast_atomic_fetchadd_int(&c->elements, -1);
-				if (!(flags & OBJ_NODATA)) {
-					if (tag)
-						__ao2_ref_debug(EXTERNAL_OBJ(cur->astobj), -1, tag, file, line, funcname);
-					else
-						__ao2_ref(EXTERNAL_OBJ(cur->astobj), -1);
-				}
 				ast_free(cur);	/* free the link record */
 			}