diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml
@@ -3347,6 +3347,17 @@
 <!--F1366DBECBB1478585C0D6D56007C145-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
 <!--F1366DBECBB1478585C0D6D56007C145--></AD_MESSAGE>
 
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC--><AD_MESSAGE>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <AD_MESSAGE_ID><![CDATA[F1AA30A93DCF4152AAC0D5F8E20031EC]]></AD_MESSAGE_ID>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <VALUE><![CDATA[OBPOS_errorLoadingTerminal]]></VALUE>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <MSGTEXT><![CDATA[There was an error loading the Pos Terminal. Make sure the store is associated with a Price List and an Assortment]]></MSGTEXT>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--F1AA30A93DCF4152AAC0D5F8E20031EC--></AD_MESSAGE>
+
 <!--F1B357DE429B46D4B785E34E76019C73--><AD_MESSAGE>
 <!--F1B357DE429B46D4B785E34E76019C73-->  <AD_MESSAGE_ID><![CDATA[F1B357DE429B46D4B785E34E76019C73]]></AD_MESSAGE_ID>
 <!--F1B357DE429B46D4B785E34E76019C73-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/posterminal/JSONRowConverter.java b/src/org/openbravo/retail/posterminal/JSONRowConverter.java
--- a/src/org/openbravo/retail/posterminal/JSONRowConverter.java
+++ b/src/org/openbravo/retail/posterminal/JSONRowConverter.java
@@ -211,6 +211,7 @@
     }
 
     try {
+      w.write("], ");
       w.write("\"");
       w.write(JsonConstants.RESPONSE_STATUS);
       w.write("\":");
diff --git a/src/org/openbravo/retail/posterminal/term/Terminal.java b/src/org/openbravo/retail/posterminal/term/Terminal.java
--- a/src/org/openbravo/retail/posterminal/term/Terminal.java
+++ b/src/org/openbravo/retail/posterminal/term/Terminal.java
@@ -14,6 +14,7 @@
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.dal.core.DalUtil;
+import org.openbravo.retail.config.OBRETCOProductList;
 import org.openbravo.retail.posterminal.OBPOSApplications;
 import org.openbravo.retail.posterminal.POSUtils;
 import org.openbravo.retail.posterminal.ProcessHQLQuery;
@@ -45,6 +46,13 @@
     final org.openbravo.model.pricing.pricelist.PriceList pricesList = POSUtils
         .getPriceListByTerminal(POSSearchKey);
 
+    // Check if there is an assortment before continuing
+    final OBRETCOProductList productList = POSUtils.getProductListByOrgId(pOSTerminal
+        .getOrganization().getId());
+    if (productList == null) {
+      throw new JSONException("Product list not found");
+    }
+
     return Arrays
         .asList(new String[] { "select pos.id as id, pos.organization.obretcoCBpartner.id as businessPartner, pos.name as _identifier, pos.searchKey as searchKey, pos.organization.obretcoCBpLocation.id as partnerAddress, "
             + " pos.organization.id as organization, pos.organization.name as "
diff --git a/web/org.openbravo.retail.posterminal/js/model/terminal.js b/web/org.openbravo.retail.posterminal/js/model/terminal.js
--- a/web/org.openbravo.retail.posterminal/js/model/terminal.js
+++ b/web/org.openbravo.retail.posterminal/js/model/terminal.js
@@ -152,7 +152,8 @@
 
         new OB.DS.Request('org.openbravo.retail.posterminal.term.Terminal').exec(params, function (data) {
           if (data.exception) {
-            me.logout();
+            OB.POS.navigate('login');
+            OB.UTIL.showError(OB.I18N.getLabel('OBPOS_errorLoadingTerminal'));
           } else if (data[0]) {
             me.set('terminal', data[0]);
             if (!me.usermodel) {
