diff -r e69e595a568f -r 8103427e0c34 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml	Thu Oct 08 17:10:09 2015 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml	Thu Oct 08 17:10:42 2015 +0200
@@ -204,6 +204,18 @@
 <!--069433915CD84226948D1D60DB205EB4-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--069433915CD84226948D1D60DB205EB4--></AD_MESSAGE>
 
+<!--0758371121804674A0B782AB590F2251--><AD_MESSAGE>
+<!--0758371121804674A0B782AB590F2251-->  <AD_MESSAGE_ID><![CDATA[0758371121804674A0B782AB590F2251]]></AD_MESSAGE_ID>
+<!--0758371121804674A0B782AB590F2251-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0758371121804674A0B782AB590F2251-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0758371121804674A0B782AB590F2251-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0758371121804674A0B782AB590F2251-->  <VALUE><![CDATA[OBPOS_LayawayTerminalNoLayawayPermission]]></VALUE>
+<!--0758371121804674A0B782AB590F2251-->  <MSGTEXT><![CDATA[The POS Terminal is configured to create layaways automatically, but the current user doesn't have permission to create layaways.]]></MSGTEXT>
+<!--0758371121804674A0B782AB590F2251-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--0758371121804674A0B782AB590F2251-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--0758371121804674A0B782AB590F2251-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--0758371121804674A0B782AB590F2251--></AD_MESSAGE>
+
 <!--0768F1FFE0EE4131A6004EB391CB0DAA--><AD_MESSAGE>
 <!--0768F1FFE0EE4131A6004EB391CB0DAA-->  <AD_MESSAGE_ID><![CDATA[0768F1FFE0EE4131A6004EB391CB0DAA]]></AD_MESSAGE_ID>
 <!--0768F1FFE0EE4131A6004EB391CB0DAA-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r e69e595a568f -r 8103427e0c34 src/org/openbravo/retail/posterminal/InitialValidations.java
--- a/src/org/openbravo/retail/posterminal/InitialValidations.java	Thu Oct 08 17:10:09 2015 +0200
+++ b/src/org/openbravo/retail/posterminal/InitialValidations.java	Thu Oct 08 17:10:42 2015 +0200
@@ -14,6 +14,8 @@
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.service.OBQuery;
+import org.openbravo.erpCommon.businessUtility.Preferences;
+import org.openbravo.erpCommon.utility.PropertyException;
 
 public class InitialValidations {
 
@@ -115,5 +117,20 @@
       }
     }
 
+    if (posTerminal.getObposTerminaltype().isLayawayorder()) {
+      try {
+        String generateLayawaysPref = Preferences
+            .getPreferenceValue("OBPOS_receipt.layawayReceipt", true, OBContext.getOBContext()
+                .getCurrentClient().getId(), OBContext.getOBContext().getCurrentOrganization()
+                .getId(), OBContext.getOBContext().getUser().getId(), OBContext.getOBContext()
+                .getRole().getId(), null);
+        if (generateLayawaysPref.equals("N")) {
+          throw new JSONException("OBPOS_LayawayTerminalNoLayawayPermission");
+        }
+      } catch (PropertyException e) {
+        // Preferences wrongly defined. Process will fail later on, so no need to do anything here.
+      }
+    }
+
   }
 }
\ No newline at end of file
