diff --git a/src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp b/src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp index 473c4aa888..be3a2a875c 100644 --- a/src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp @@ -146,8 +146,14 @@ PackageLinksDirectory::RemovePackage(Package* package) linkDirectory->RemovePackage(package, fListener); // if empty, remove the link directory itself - if (linkDirectory->IsEmpty()) + if (linkDirectory->IsEmpty()) { + if (fListener != NULL) { + NodeWriteLocker linkDirectoryWriteLocker(linkDirectory); + fListener->PackageLinkNodeRemoved(linkDirectory); + } + RemoveChild(linkDirectory); + } }