Index: /trunk/src/kash/shheap.c
===================================================================
--- /trunk/src/kash/shheap.c	(revision 2307)
+++ /trunk/src/kash/shheap.c	(revision 2308)
@@ -422,9 +422,10 @@
         if (mem->magic == SHMEMHDR_MAGIC_FREE)
         {
-            SHHEAP_ASSERT(left->next2 == mem);
-            SHHEAP_ASSERT(mem->prev2 == left);
-            left->next2 = mem->next2;
             if (mem->next2)
-                mem->next2->prev2 = left;
+                mem->next2->prev2 = mem->prev2;
+            if (mem->prev2)
+                mem->prev2->next2 = mem->next2;
+            else
+                mem->chunk->free_head = mem->next2;
         }
 
