diff --git a/src/system/kernel/cache/block_cache.cpp b/src/system/kernel/cache/block_cache.cpp index 08d706b979..4241b53925 100644 --- a/src/system/kernel/cache/block_cache.cpp +++ b/src/system/kernel/cache/block_cache.cpp @@ -2768,8 +2768,9 @@ cache_end_transaction(void* _cache, int32 id, notify_transaction_listeners(cache, transaction, TRANSACTION_ENDED); - if (add_transaction_listener(cache, transaction, TRANSACTION_WRITTEN, hook, - data) != B_OK) { + if (hook != NULL + && add_transaction_listener(cache, transaction, TRANSACTION_WRITTEN, + hook, data) != B_OK) { return B_NO_MEMORY; }