Index: uspace/lib/libc/generic/malloc.c
===================================================================
--- uspace/lib/libc/generic/malloc.c	(revision f450280b09f45d3bd470438388298f850df05332)
+++ uspace/lib/libc/generic/malloc.c	(revision 7d885873ba8a207aeca8500bbff5a801de79f26d)
@@ -406,6 +406,7 @@
 		    (heap_block_head_t *) (((void *) head) + head->size);
 		
-		if (((void *) next_head < heap_end)
-		    && (head->size + next_head->size >= real_size)) {
+		if (((void *) next_head < heap_end) &&
+		    (head->size + next_head->size >= real_size) &&
+		    (next_head->free)) {
 			block_check(next_head);
 			block_init(head, head->size + next_head->size, false);
