diff --git a/js/crm.payment.js b/js/crm.payment.js
index 0e9857e6cffa29f5a4bac40b472d3c68022af5b9..aace67592c612200e8aba03dc167a41640e0939c 100644
--- a/js/crm.payment.js
+++ b/js/crm.payment.js
@@ -128,6 +128,14 @@
         // If we have multiple payment processors to select and we are not currently loaded
         billingFormID = $('input[name=hidden_processor]').closest('form').prop('id');
       }
+      if (typeof billingFormID === 'undefined' || (!billingFormID.length)) {
+        billingFormID = $('div#billing-payment-block').closest('form').prop('id');
+      }
+      if (typeof billingFormID === 'undefined' || (!billingFormID.length)) {
+        this.debugging(this.name, 'Could not find billing form!');
+        this.form = null;
+        return this.form;
+      }
       // We have to use document.getElementById here so we have the right elementtype for appendChild()
       this.form = document.getElementById(billingFormID);
       return this.form;