diff --git a/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java b/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java
--- a/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java
+++ b/src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java
@@ -1016,7 +1016,8 @@
     FIN_FinancialAccount financialAccount = null;
     OrganizationStructureProvider osp = OBContext.getOBContext().getOrganizationStructureProvider(
         oldOrder.getOrganization().getClient().getId());
-    if (jsonorder != null) {
+    if (jsonorder != null && jsonorder.has("defaultPaymentType")
+        && jsonorder.getJSONObject("defaultPaymentType") != null) {
       paymentPaymentMethod = OBDal.getInstance().get(FIN_PaymentMethod.class,
           (String) jsonorder.getJSONObject("defaultPaymentType").get("paymentMethodId"));
       financialAccount = OBDal.getInstance().get(FIN_FinancialAccount.class,
