diff --git a/Framework/Kernel/src/ConfigService.cpp b/Framework/Kernel/src/ConfigService.cpp
index ce26df81dae645c1e3d4094fd8089879e274020c..dc2d7710d25b45ee9f7defab19ea5e5500a453ca 100644
--- a/Framework/Kernel/src/ConfigService.cpp
+++ b/Framework/Kernel/src/ConfigService.cpp
@@ -1597,8 +1597,9 @@ void ConfigServiceImpl::appendDataSearchSubDir(const std::string &subdir) {
     return;
   }
 
-  if (!subDirPath.isDirectory())
+  if (!subDirPath.isDirectory() || !subDirPath.isRelative()) {
     return;
+  }
 
   std::vector<std::string> newDataDirs = m_DataSearchDirs;
   std::vector<std::string>::const_iterator it = newDataDirs.begin();