diff --git a/res/res_fax.c b/res/res_fax.c
index aef6360ff09529cb9f231e882808ad511342205c..01228c17545d06c5e27f757d9abe8b71b45707a0 100644
--- a/res/res_fax.c
+++ b/res/res_fax.c
@@ -1216,6 +1216,7 @@ static struct ast_fax_session *fax_session_new(struct ast_fax_session_details *d
 	if (reserved) {
 		s = reserved;
 		ao2_ref(reserved, +1);
+		ao2_unlink(faxregistry.container, reserved);
 
 		/* NOTE: we don't consume the reference to the reserved
 		 * session. The session returned from fax_session_new() is a