diff --git a/dtool/src/dtoolutil/filename.cxx b/dtool/src/dtoolutil/filename.cxx index 7b45bd2ae3..12e2f8094a 100644 --- a/dtool/src/dtoolutil/filename.cxx +++ b/dtool/src/dtoolutil/filename.cxx @@ -921,8 +921,15 @@ standardize() { // Ignore /./. } else if (component == ".." && !components.empty() && !(components.back() == "..")) { - // Back up. - components.pop_back(); + if (components.back() == ".") { + // To "back up" over a leading ./ means simply to remove the + // leading ./ + components.pop_back(); + components.push_back(component); + } else { + // Back up normally. + components.pop_back(); + } } else { components.push_back(component); }