Index: uspace/lib/libblock/libblock.c
===================================================================
--- uspace/lib/libblock/libblock.c	(revision b7b3fda9a7638eb3b624d0051beb9de67500e131)
+++ uspace/lib/libblock/libblock.c	(revision 4f690cd2c7a0267072f5686e5a0d2fff1f3be7b7)
@@ -342,4 +342,5 @@
 retry:
 	rc = EOK;
+	b = NULL;
 
 	fibril_mutex_lock(&cache->lock);
@@ -467,4 +468,9 @@
 		fibril_mutex_unlock(&b->lock);
 	}
+	if ((rc != EOK) && b) {
+		assert(b->toxic);
+		(void) block_put(b);
+		b = NULL;
+	}
 	*block = b;
 	return rc;
