diff --git a/LbConfiguration/python/LbConfiguration/LbLogin.py b/LbConfiguration/python/LbConfiguration/LbLogin.py
index 233a04654307fa2fe21c08cc45266e28d6de7933..c1ce3a94c3c46ae540c88de3a77b8ec41be85888 100755
--- a/LbConfiguration/python/LbConfiguration/LbLogin.py
+++ b/LbConfiguration/python/LbConfiguration/LbLogin.py
@@ -385,7 +385,7 @@ class LbLoginScript(SourceScript):
                 log.debug("CMTSITE set to LOCAL. Guessing MYSITEROOT")
                 thismysiteroot = None
                 log.debug("IA dir: %s" % _ia_dir)
-                thisprojectversdir = os.path.dirname(_ia_dir)
+                thisprojectversdir = os.path.dirname(os.path.abspath(_ia_dir))
                 log.debug("proj vers dir: %s" % thisprojectversdir)
                 if os.path.isdir(thisprojectversdir) :
                     thisprojectdir = os.path.dirname(thisprojectversdir)
@@ -554,13 +554,14 @@ class LbLoginScript(SourceScript):
         if ev.has_key("CONTRIBDIR") :
             ev["CMT_DIR"] = ev["CONTRIBDIR"]
             ev["CMTROOT"] = multiPathGetFirst(ev["CMT_DIR"], os.path.join("CMT", opts.cmtvers))
-        if not os.path.isdir(ev["CMTROOT"]) :
-            log.error("Directory %s doesn't exist" % ev["CMTROOT"])
-            ev["CMTROOT"] = self._currentcmtroot
 
-        ev["CMTVERS"] = opts.cmtvers
-        log.debug("The CMT version is %s" % opts.cmtvers)
-        self.setCMTInternals()
+            if not os.path.isdir(ev["CMTROOT"]) :
+                log.error("Directory %s doesn't exist" % ev["CMTROOT"])
+                ev["CMTROOT"] = self._currentcmtroot
+
+            ev["CMTVERS"] = opts.cmtvers
+            log.debug("The CMT version is %s" % opts.cmtvers)
+            self.setCMTInternals()
 
     def setCMake(self):
         from os.path import join, pathsep, isdir