diff --git a/Makefile b/Makefile
index 33dc12cc2f6bf2ec4f6351808adcbf56a9144611..cc51d1781074a5247d8ac472b79087d9c40d2de4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 BASE=ordernumber
 PLUGINTYPE=vmshopper
-VERSION=3.4
+VERSION=3.5
 
 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html $(BASE)/
 
diff --git a/ordernumber.php b/ordernumber.php
index 300ad8a79c907453d7c6ee26a2fa276fa4bcb8d5..c07588bb80c1f4970ba04b18f2b3e95456c179bc 100644
--- a/ordernumber.php
+++ b/ordernumber.php
@@ -484,11 +484,18 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
         // Is order number customization enabled?
         if ($this->params->get('customize_invoice_number')) {
             // check the default configuration
-            $orderstatusForInvoice = VmConfig::get('inv_os',array());
+            $orderstatusForInvoice = VmConfig::get('inv_os',array('C'));
             if(!is_array($orderstatusForInvoice)) $orderstatusForInvoice = array($orderstatusForInvoice); //for backward compatibility 2.0.8e
             $pdfInvoice = (int)VmConfig::get('pdf_invoice', 0); // backwards compatible
-            $force_create_invoice = JFactory::getApplication()->input->getInt('create_invoice', 0);
-            $invoice_pass = isset($orderDetails['order_create_invoice_pass']) ? $orderDetails['order_create_invoice_pass'] : 1;
+            // For VM<3.0.12, the URL parameter is an int, for VM>=3.0.12, the URL param is a string/cmd
+            $force_create_invoice = JFactory::getApplication()->input->getCmd('create_invoice', -1);
+            if (is_numeric($force_create_invoice)) {
+                // numeric means we have the old behavor pre-3.0.12 => No invoice_pass to check
+                $invoice_pass = 1;
+            } else {
+                $invoice_pass = isset($orderDetails['order_create_invoice_pass']) ? $orderDetails['order_create_invoice_pass'] : 'DO_NOT_CREATE_INVOICE';
+            }
+
             if ( in_array($orderDetails['order_status'],$orderstatusForInvoice)  or $pdfInvoice==1  or $force_create_invoice==$invoice_pass ){
                 $invoicenr = $this->assignNumber((object)$orderDetails, 'invoice_number', "#");
                 if ($invoicenr !== false) {
diff --git a/ordernumber.xml b/ordernumber.xml
index 9bda6ec18b1980edc27e2df5f56c43f0e264bd35..9e0194d8ecca8f03e33169edc61009b7cae08de9 100644
--- a/ordernumber.xml
+++ b/ordernumber.xml
@@ -7,7 +7,7 @@
     <authorUrl>http://www.open-tools.net/</authorUrl>
     <copyright>Copyright (C) 2012-2015 Reinhold Kainhofer. All rights reserved.</copyright>
     <license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPLv3</license>
-    <version>3.4</version>
+    <version>3.5</version>
     <releaseDate>2015-05-23</releaseDate>
     <releaseType>Minor update</releaseType>
     <downloadUrl>http://open-tools.net/virtuemart/advanced-ordernumbers.html</downloadUrl>
diff --git a/releases/plg_vmshopper_ordernumber_v3.5.zip b/releases/plg_vmshopper_ordernumber_v3.5.zip
new file mode 100644
index 0000000000000000000000000000000000000000..7864ef963ba3a65cb4cc6265866b0e4ffd695d2d
Binary files /dev/null and b/releases/plg_vmshopper_ordernumber_v3.5.zip differ