diff --git a/web/org.openbravo.mobile.core/source/component/ob-login.js b/web/org.openbravo.mobile.core/source/component/ob-login.js
--- a/web/org.openbravo.mobile.core/source/component/ob-login.js
+++ b/web/org.openbravo.mobile.core/source/component/ob-login.js
@@ -230,10 +230,11 @@
   },
   hasTerminalChanged: function () {
     if (OB.UTIL.localStorage.getItem('loggedTerminalName') && (OB.UTIL.localStorage.getItem('loggedTerminalName') !== OB.MobileApp.model.get('terminalName'))) {
-      OB.info('Terminal has been changed. Resetting database and local storage information.');
-      OB.UTIL.localStorage.clear();
-      OB.UTIL.localStorage.setItem('terminalName', OB.MobileApp.model.get('terminalName'));
-      OB.MobileApp.model.logout();
+      OB.error('Terminal has been changed. Logged Terminal: ' + OB.UTIL.localStorage.getItem('loggedTerminalName') + ' new terminalName: ' + OB.MobileApp.model.get('terminalName'));
+      //      OB.info('Terminal has been changed. Resetting database and local storage information.');
+      //      OB.UTIL.localStorage.clear();
+      //      OB.UTIL.localStorage.setItem('terminalName', OB.MobileApp.model.get('terminalName'));
+      //      OB.MobileApp.model.logout();
     }
   },
 
diff --git a/web/org.openbravo.mobile.core/source/data/ob-dal.js b/web/org.openbravo.mobile.core/source/data/ob-dal.js
--- a/web/org.openbravo.mobile.core/source/data/ob-dal.js
+++ b/web/org.openbravo.mobile.core/source/data/ob-dal.js
@@ -897,93 +897,42 @@
       }
 
       if (currentTransaction) {
-        if (updateToBeChecked) {
-          OB.Dal.getInTransaction(currentTransaction, modelDefinition, model.get('id'), function (result) {
-            if (result) {
-              if (result.get('hasbeenpaid') === 'Y') {
-                OB.error('[checkBlocked][transaction][hasbeenpaid_is_yes] Wrong write in c_order avoided [' + result.get('id') + '][' + result.get('documentNo') + '] - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
+        try {
+          if (updateToBeChecked) {
+            currentTransaction.executeSql(sql + " AND hasbeenpaid = 'N'", params, function (trx, result) {
+              if (result.rowsAffected !== 1) {
+                OB.error('[checkBlocked][transaction]The order does not exists or is frozen. Wrong write in c_order avoided [' + model.get('id') + '][' + model.get('documentNo') + '] - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
+              }
+              if (successFunction) {
+                successFunction();
+              }
+            }, processError);
+
+          } else {
+            currentTransaction.executeSql(sql, params, silentFunction(successFunction), processError);
+          }
+        } catch (e) {
+          executeSqlErrorHandler('error', "OB.Dal.save: table", tableName, null, e, callerInfo);
+        }
+      } else {
+        OB.Data.localDB.transaction(function (tx) {
+          try {
+            if (updateToBeChecked) {
+              tx.executeSql(sql + " AND hasbeenpaid = 'N'", params, function (trx, result) {
+                if (result.rowsAffected !== 1) {
+                  OB.error('[checkBlocked][transaction]The order does not exists or is frozen. Wrong write in c_order avoided [' + model.get('id') + '][' + model.get('documentNo') + '] - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
+                }
                 if (successFunction) {
                   successFunction();
                 }
-              } else {
-                try {
-                  currentTransaction.executeSql(sql, params, silentFunction(successFunction), processError);
-                } catch (e) {
-                  executeSqlErrorHandler('error', "OB.Dal.save: table", tableName, null, e, callerInfo);
-                }
-              }
+              }, processError);
             } else {
-              //no results
-              OB.warn('[checkBlocked][transaction] No result after getInTransaction for [' + model.get('id') + '][' + model.get('documentNo') + ']. This update doesnt make sense - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-              if (successFunction) {
-                successFunction();
-              }
+              tx.executeSql(sql, params, silentFunction(successFunction), processError);
             }
-          }, function () {
-            OB.error('[checkBlocked][transaction] Error for [' + model.get('id') + '][' + model.get('documentNo') + '] - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-            if (error) {
-              error();
-            }
-          }, function () {
-            //no results
-            OB.warn('[checkBlocked][transaction] No result after getInTransaction for [' + model.get('id') + '][' + model.get('documentNo') + ']. This update doesnt make sense - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-            if (successFunction) {
-              successFunction();
-            }
-          });
-        } else {
-          try {
-            currentTransaction.executeSql(sql, params, silentFunction(successFunction), processError);
           } catch (e) {
             executeSqlErrorHandler('error', "OB.Dal.save: table", tableName, null, e, callerInfo);
           }
-        }
-      } else {
-        if (updateToBeChecked) {
-          OB.Data.localDB.transaction(function (tx) {
-            OB.Dal.getInTransaction(tx, modelDefinition, model.get('id'), function (result) {
-              if (result) {
-                if (result.get('hasbeenpaid') === 'Y') {
-                  OB.error('[checkBlocked][no-transaction][hasbeenpaid_is_yes] Wrong write in c_order avoided [' + result.get('id') + '][' + result.get('documentNo') + '] - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-                  if (successFunction) {
-                    successFunction();
-                  }
-                } else {
-                  try {
-                    tx.executeSql(sql, params, silentFunction(successFunction), processError);
-                  } catch (e) {
-                    executeSqlErrorHandler('error', "OB.Dal.save: table", tableName, null, e, callerInfo);
-                  }
-                }
-              } else {
-                //no results
-                OB.warn('[checkBlocked][no-transaction] No result after getInTransaction for [' + model.get('id') + '][' + model.get('documentNo') + ']. This update doesnt make sense - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-                if (successFunction) {
-                  successFunction();
-                }
-              }
-            }, function () {
-              OB.error('[checkBlocked][no-transaction] Error for [' + model.get('id') + '][' + model.get('documentNo') + ']');
-              if (error) {
-                error();
-              }
-            }, function () {
-              //no results
-              OB.warn('[checkBlocked][no-transaction] No result after getInTransaction for [' + model.get('id') + '][' + model.get('documentNo') + ']. This update doesnt make sense - Caller: ' + caller + ' - callerInfo: ' + callerInfo);
-              if (successFunction) {
-                successFunction();
-              }
-            });
-          });
-        } else {
-          OB.Data.localDB.transaction(function (tx) {
-            try {
-              tx.executeSql(sql, params, silentFunction(successFunction), processError);
-            } catch (e) {
-              executeSqlErrorHandler('error', "OB.Dal.save: table", tableName, null, e, callerInfo);
-            }
-          });
-        }
+        });
       }
     } else {
       this.missingLocalStorageLogic();
diff --git a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
--- a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
+++ b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
@@ -588,12 +588,13 @@
 
     // check if terminal id has changed
     if (OB.UTIL.localStorage.getItem('loggedTerminalName') && (OB.UTIL.localStorage.getItem('loggedTerminalName') !== OB.MobileApp.model.get('terminalName'))) {
-      console.warn(OB.UTIL.argumentsToStringifyed("terminal changed (" + OB.UTIL.localStorage.getItem('loggedTerminalName') + " -> " + OB.MobileApp.model.get('terminalName') + ")"));
-      OB.info('Terminal has been changed. Resetting database and local storage information.');
-      OB.UTIL.localStorage.clear();
-      OB.UTIL.localStorage.setItem('terminalName', OB.MobileApp.model.get('terminalName'));
-      OB.MobileApp.model.logout();
-      return;
+      OB.error('Terminal has been changed. Logged Terminal: ' + OB.UTIL.localStorage.getItem('loggedTerminalName') + ' new terminalName: ' + OB.MobileApp.model.get('terminalName'));
+      //      console.warn(OB.UTIL.argumentsToStringifyed("terminal changed (" + OB.UTIL.localStorage.getItem('loggedTerminalName') + " -> " + OB.MobileApp.model.get('terminalName') + ")"));
+      //      OB.info('Terminal has been changed. Resetting database and local storage information.');
+      //      OB.UTIL.localStorage.clear();
+      //      OB.UTIL.localStorage.setItem('terminalName', OB.MobileApp.model.get('terminalName'));
+      //      OB.MobileApp.model.logout();
+      //      return;
     }
 
     var tablesToDrop = [];
@@ -2042,7 +2043,9 @@
           OB.UTIL.localStorage.setItem('loggedTerminalName', OB.MobileApp.model.get('terminalName'));
         }
         if ((!OB.UTIL.isNullOrUndefined(OB.MobileApp.model.get('terminalName')) || !OB.UTIL.isNullOrUndefined(OB.UTIL.localStorage.getItem('loggedTerminalName'))) && OB.MobileApp.model.get('terminalName') !== OB.UTIL.localStorage.getItem('loggedTerminalName')) {
-          OB.UTIL.localStorage.clear();
+          OB.error('Terminal has been changed. Logged Terminal: ' + OB.UTIL.localStorage.getItem('loggedTerminalName') + ' new terminalName: ' + OB.MobileApp.model.get('terminalName'));
+          //        	OB.info('Terminal has been changed. Resetting database and local storage information.');
+          //          OB.UTIL.localStorage.clear();
         }
         OB.MobileApp.model.set('orgUserId', inResponse.userId);
         me.set('loggedOffline', false);
diff --git a/web/org.openbravo.mobile.core/source/utils/ob-localStorage.js b/web/org.openbravo.mobile.core/source/utils/ob-localStorage.js
--- a/web/org.openbravo.mobile.core/source/utils/ob-localStorage.js
+++ b/web/org.openbravo.mobile.core/source/utils/ob-localStorage.js
@@ -54,6 +54,7 @@
   };
 
   OB.UTIL.localStorage.clear = function () {
-    window.localStorage.clear();
+    OB.error('Local Storage is going to be cleared.');
+    //    window.localStorage.clear();
   };
 }());
\ No newline at end of file
