diff --git a/src/add-ons/kernel/file_systems/packagefs/Volume.cpp b/src/add-ons/kernel/file_systems/packagefs/Volume.cpp index 961928be05..88e96cf3a0 100644 --- a/src/add-ons/kernel/file_systems/packagefs/Volume.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/Volume.cpp @@ -1182,11 +1182,13 @@ Volume::_RemovePackageContentRootNode(Package* package, if (PackageDirectory* packageDirectory = dynamic_cast(packageNode)) { if (packageDirectory->FirstChild() != NULL) { - directory = dynamic_cast( - directory->FindChild(packageNode->Name())); - packageNode = packageDirectory->FirstChild(); - directory->WriteLock(); - continue; + if (Directory* childDirectory = dynamic_cast( + directory->FindChild(packageNode->Name()))) { + directory = childDirectory; + packageNode = packageDirectory->FirstChild(); + directory->WriteLock(); + continue; + } } }