diff --git a/src/python/dm/common/client/sessionManager.py b/src/python/dm/common/client/sessionManager.py
index e99b05b33c7a32d504433d966241cae0d9d765af..63811af1b1c672bfeb89e5ff38f7e9a33d00c1f1 100755
--- a/src/python/dm/common/client/sessionManager.py
+++ b/src/python/dm/common/client/sessionManager.py
@@ -13,6 +13,7 @@ import types
 from dm.common.constants import dmServiceConstants
 from dm.common.exceptions.configurationError import ConfigurationError
 from dm.common.exceptions.authorizationError import AuthorizationError
+from dm.common.exceptions.invalidSession import InvalidSession
 from dm.common.exceptions.urlError import UrlError
 from dm.common.utility.loggingManager import LoggingManager
 from dm.common.utility.configurationManager import ConfigurationManager
@@ -196,7 +197,12 @@ class SessionManager:
         """ Send session request. """
         if self.sessionCookie is None:
             self.establishSession(self.host, self.username, self.password)
-        return self.sendRequest(url, method, contentType, data)
+        try:
+            return self.sendRequest(url, method, contentType, data)
+        except InvalidSession, ex:
+            self.clearSessionFile()
+            self.establishSession(self.host, self.username, self.password)
+            return self.sendRequest(url, method, contentType, data)
 
     def checkResponseHeadersForErrorsAndSaveSession(self, responseHeaders):
         try:
@@ -204,7 +210,7 @@ class SessionManager:
             sessionCookie = responseHeaders.get('Set-Cookie')
             self.saveSession(sessionCookie)
             return sessionCookie
-        except AuthorizationError, ex:
+        except (AuthorizationError, InvalidSession), ex:
             self.clearSessionFile()
             raise