Index: gnunet-conversation.c
===================================================================
--- gnunet-conversation.c	(revision 32114)
+++ gnunet-conversation.c	(working copy)
@@ -288,6 +288,8 @@
     GNUNET_CONTAINER_DLL_remove (cl_head,
                                  cl_tail,
                                  cl);
+    GNUNET_assert (caller_num_gen > 0);
+    caller_num_gen--;
     GNUNET_free (cl->caller_id);
     if (cl == cl_active)
     {
@@ -917,11 +919,17 @@
                                  cl);
     GNUNET_free (cl->caller_id);
     GNUNET_free (cl);
+    GNUNET_assert (caller_num_gen > 0);
+    caller_num_gen--;
     break;
   case PS_ACCEPTED:
     /* expected state, do rejection logic */
     GNUNET_assert (NULL != cl_active);
     GNUNET_CONVERSATION_caller_hang_up (cl_active->caller);
+    GNUNET_free (cl_active->caller_id);
+    GNUNET_free (cl_active);
+    GNUNET_assert (caller_num_gen > 0);
+    caller_num_gen--;
     cl_active = NULL;
     phone_state = PS_LISTEN;
     break;
