diff --git a/main/channel.c b/main/channel.c
index 84d5cd66a419d613ae116f48f41ea561716f28f3..d5fcb0a2d4a38d7dcd4ab4ce58965b2ebe7e4d7a 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -3688,8 +3688,7 @@ int ast_do_masquerade(struct ast_channel *original)
 
 	/* Move data stores over */
 	if (AST_LIST_FIRST(&clone->datastores))
-                AST_LIST_INSERT_TAIL(&original->datastores, AST_LIST_FIRST(&clone->datastores), entry);
-	AST_LIST_HEAD_INIT_NOLOCK(&clone->datastores);
+		AST_LIST_APPEND_LIST(&original->datastores, &clone->datastores, entry);
 
 	clone_variables(original, clone);
 	/* Presense of ADSI capable CPE follows clone */