diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp
index 62fb59c6aa4dfcc6e9dbdc7a7e5a5ad5d23570d6..bafbf235e148a9bd9040ae88fd933c690bd21ff3 100644
--- a/src/plugins/clearcase/clearcaseplugin.cpp
+++ b/src/plugins/clearcase/clearcaseplugin.cpp
@@ -224,6 +224,10 @@ bool ClearCasePlugin::isCheckInEditorOpen() const
  */
 QString ClearCasePlugin::findTopLevel(const QString &directory) const
 {
+    if ((directory == m_topLevel) ||
+            Utils::FileName::fromString(directory).isChildOf(Utils::FileName::fromString(m_topLevel)))
+        return m_topLevel;
+
     // Snapshot view
     QString topLevel =
             findRepositoryForDirectory(directory, QLatin1String(ClearCase::Constants::CLEARCASE_ROOT_FILE));
@@ -231,8 +235,6 @@ QString ClearCasePlugin::findTopLevel(const QString &directory) const
         return topLevel;
 
     // Dynamic view
-    if (directory.startsWith(m_topLevel) && directory.at(m_topLevel.size()) == QLatin1Char('/'))
-        return m_topLevel;
     bool isDynamic;
     ccGetView(directory, &isDynamic);
     if (isDynamic) {