diff -r ab794c23a556 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
--- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java	Wed Jun 01 09:24:38 2016 +0200
+++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java	Thu Jun 02 18:52:15 2016 +0200
@@ -1693,16 +1693,16 @@
       FIN_PaymentMethod paymentMethod) {
     final OBCriteria<FinAccPaymentMethod> obc = OBDal.getInstance().createCriteria(
         FinAccPaymentMethod.class);
+    // combination of those 2 fields has unique constraint
     obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_ACCOUNT, account));
     obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_PAYMENTMETHOD, paymentMethod));
-    obc.add(Restrictions.eq(FinAccPaymentMethod.PROPERTY_ACTIVE, true));
     obc.setFilterOnReadableClients(false);
     obc.setFilterOnReadableOrganization(false);
-    try {
-      return obc.list().get(0);
-    } catch (IndexOutOfBoundsException e) {
-      throw new OBException(FIN_Utility.messageBD("APRM_PaymentMethod"));
+    FinAccPaymentMethod result = (FinAccPaymentMethod) obc.uniqueResult();
+    if (result != null) {
+      return result;
     }
+    throw new OBException(FIN_Utility.messageBD("APRM_PaymentMethod"));
   }
 
   public boolean isAutomatedExecutionPayment(FIN_FinancialAccount account,
