diff -r ed38a9d04ca3 web/org.openbravo.mobile.core/source/data/ob-datasource.js
--- a/web/org.openbravo.mobile.core/source/data/ob-datasource.js	Tue May 26 09:50:21 2015 +0000
+++ b/web/org.openbravo.mobile.core/source/data/ob-datasource.js	Tue Oct 06 19:13:33 2015 +0200
@@ -166,7 +166,7 @@
     ajaxRequest.go(ajaxRequest.data).response('success').error('fail');
   }
 
-  function serviceGET(source, dataparams, callback, callbackError, async) {
+  function serviceGET(source, dataparams, callback, callbackError, async, timeout) {
     var synchId = OB.UTIL.SynchronizationHelper.busyUntilFinishes('serviceGET ' + source);
     if (async !== false) {
       async = true;
@@ -177,6 +177,7 @@
       sync: !async,
       method: 'GET',
       handleAs: 'json',
+      timeout: timeout,
       ignoreForConnectionStatus: dataparams.parameters && dataparams.parameters.ignoreForConnectionStatus ? dataparams.parameters.ignoreForConnectionStatus : false,
       contentType: 'application/json;charset=utf-8',
       success: function (inSender, inResponse) {
@@ -243,7 +244,7 @@
     this.lastUpdated = lastUpdated;
   };
 
-  OB.DS.Request.prototype.exec = function (params, callback, callbackError, async) {
+  OB.DS.Request.prototype.exec = function (params, callback, callbackError, async, timeout) {
     var p, i;
     var data = {};
 
@@ -294,7 +295,7 @@
 
     data.appName = OB.MobileApp.model.get('appName') || 'OBMOBC';
 
-    serviceGET(this.source, data, callback, callbackError, async);
+    serviceGET(this.source, data, callback, callbackError, async, timeout);
   };
 
   function check(elem, filter) {
@@ -442,4 +443,4 @@
       }, this);
     }
   };
-}());
\ No newline at end of file
+}());
diff -r ed38a9d04ca3 web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
--- a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js	Tue May 26 09:50:21 2015 +0000
+++ b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js	Tue Oct 06 19:13:33 2015 +0200
@@ -643,7 +643,7 @@
     var ajaxRequest = new enyo.Ajax({
       url: this.get('loginUtilsUrl'),
       cacheBust: false,
-      timeout: 20000,
+      timeout: 5000,
       method: 'GET',
       handleAs: 'json',
       contentType: 'application/json;charset=utf-8',
@@ -690,7 +690,7 @@
             }
           }, function () {
             OB.MobileApp.model.navigate('login');
-          });
+          }, true, 5000);
         });
       },
       fail: function (inSender, inResponse) {
@@ -1302,4 +1302,4 @@
       OB.error("saveTerminalInfo", arguments);
     });
   }
-});
\ No newline at end of file
+});
