diff --git a/Makefile b/Makefile
index 36732296ed0f8a5a5c42e7f6687dc714ff37e8e8..118d3eff289d2d6a037ee4eecd1fe425ce9af48d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 BASE=ordernumber
 PLUGINTYPE=vmshopper
-VERSION=1.9
+VERSION=1.10
 
 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html
 
diff --git a/ordernumber.php b/ordernumber.php
index 7ad77535522525f574a554ffa800bba65365c195..621e195c578fc96a4376824da60c728ff9b61a9d 100644
--- a/ordernumber.php
+++ b/ordernumber.php
@@ -15,7 +15,6 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
         parent::__construct($subject, $config);
         /* Create the database table */
         $this->tableFields = array_keys ($this->getTableSQLFields ());
-        $this->onStoreInstallPluginTable($this->_psType);
     }
 
     public function getVmPluginCreateTableSQL () {
@@ -140,19 +139,19 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
 
         // Look up the current counter
         $db = JFactory::getDBO();
-        /* prevent sql injection attacks by escaping the user-entered format! */
-        $nr_escaped = $db->getEscaped ($nr);
+        /* prevent sql injection attacks by escaping the user-entered format! Empty for global counter... */
         /* For global counting, simply read the empty number_format entries! */
-        $q = 'SELECT `count` FROM `'.$this->_tablename.'` WHERE `number_type`='.(int)$nrtype.' AND `number_format`="'.($global?"":$nr_escaped).'"';
+        $nr_escaped = $global?"":$db->getEscaped ($nr);
+        $q = 'SELECT `count` FROM `'.$this->_tablename.'` WHERE `number_type`='.(int)$nrtype.' AND `number_format`="'.$nr_escaped.'"';
         $db->setQuery($q);
         $existing = $db->loadResult();
         $count = $existing?($existing+1):1;
 
         // Insert new counter value into the db
         if ($existing) {
-            $q = 'UPDATE `'.$this->_tablename.'` SET `count`= "'.$count.'" WHERE `number_type`='.(int)$nrtype.' AND `number_format`="'.($global?"":$nr_escaped).'"';
+            $q = 'UPDATE `'.$this->_tablename.'` SET `count`= "'.$count.'" WHERE `number_type`='.(int)$nrtype.' AND `number_format`="'.$nr_escaped.'"';
         } else {
-            $q = 'INSERT INTO `'.$this->_tablename.'` (`count`, `number_type`, `number_format`) VALUES ('.(int)$count.','.(int)$nrtype.', "'.($global?"":$nr_escaped).'")';
+            $q = 'INSERT INTO `'.$this->_tablename.'` (`count`, `number_type`, `number_format`) VALUES ('.(int)$count.','.(int)$nrtype.', "'.$nr_escaped.'")';
         }
         $db->setQuery( $q );
         $db->query();
@@ -188,7 +187,7 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
             $orderstatusForInvoice = VmConfig::get('inv_os',array());
             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=JRequest::getInt('create_invoice', 0);
+            $force_create_invoice=JInput::getInt('create_invoice', 0);
             if ( in_array($orderDetails['order_status'],$orderstatusForInvoice)  or $pdfInvoice==1  or $force_create_invoice==1 ){
                 $nrtype = 1; /*invoice-nr*/
                 $fmt = $this->params->get ('invoice_number_format', "#");
@@ -215,5 +214,11 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
             return $data;
         }
     }
+    
+    /* In versions before VM 2.6.8, the onStoreInstallPluginTable function was protected, so the installer couldn't call it to create the plugin table...
+       This function simply is a public wrapper to make this function available to the installer on all VM versions: */
+	public function plgVmOnStoreInstallPluginTable($psType, $name='') {
+		return $this->onStoreInstallPluginTable($psType, $name);
+	}
 
 }
diff --git a/ordernumber.script.php b/ordernumber.script.php
index 5bfe9352b79b3b18e84c8fce94fc8213d0e860a7..caa5f2011d8fb1bda1a373b947752db5cfa26079 100644
--- a/ordernumber.script.php
+++ b/ordernumber.script.php
@@ -6,6 +6,9 @@ defined('_JEXEC') or die('Restricted access');
  * @copyright Copyright (C) 2013-2014 Reinhold Kainhofer, office@open-tools.net
  * @license GPL v3+,  http://www.gnu.org/copyleft/gpl.html
  */
+defined('DS') or define('DS', DIRECTORY_SEPARATOR);
+if (!class_exists( 'VmConfig' )) 
+    require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
 
 class plgVmShopperOrdernumberInstallerScript
 {
@@ -29,12 +32,23 @@ class plgVmShopperOrdernumberInstallerScript
     /**
      * Called after any type of action
      *
-     * @param   string  $route  Which action is happening (install|uninstall|discover_install)
+     * @param   string  $route  Which action is happening (install|update|uninstall|discover_install)
      * @param   JAdapterInstance  $adapter  The object responsible for running this script
      *
      * @return  boolean  True on success
      */
 //     public function postflight($route, JAdapterInstance $adapter);
+    public function postflight ($type, $parent = null) {
+        if(!class_exists( 'vmPlugin' )) 
+            require JPATH_VM_ADMINISTRATOR.DS.'plugins'.DS.'vmplugin.php';
+        if(!class_exists( 'plgVmShopperOrdernumber' )) 
+            require JPATH_ROOT.DS.'plugins'.DS.'vmshopper'.DS.'ordernumber'.DS.'ordernumber.php';
+        $dispatcher = new JDispatcher();
+        $config = array('name' => 'ordernumber', 'type' => 'vmshopper');
+        $plugin = new plgVmShopperOrdernumber($dispatcher, $config);
+        $plugin->plgVmOnStoreInstallPluginTable('shopper');
+//         $dispatcher->trigger("plgVmOnStoreInstallPluginTable", array('vmshopper'));
+    }
  
     /**
      * Called on installation
@@ -79,7 +93,7 @@ class plgVmShopperOrdernumberInstallerScript
     {
         // Remove plugin table
         $db =& JFactory::getDBO();
-        $db->setQuery('DROP TABLE `#__virtuemart_shopper_plg_ordernumber`;');
+        $db->setQuery('DROP TABLE IF EXISTS `#__virtuemart_shopper_plg_ordernumber`;');
         $db->query();
     }
 }
\ No newline at end of file
diff --git a/ordernumber.xml b/ordernumber.xml
index bad71ae324179f40d9b496b44dc8254d337cc782..32999cdccddb251a6115f4cd43e4536ea2a71295 100644
--- a/ordernumber.xml
+++ b/ordernumber.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<extension version="1.6" type="plugin" group="vmshopper" method="upgrade">
+<extension version="2.5" type="plugin" group="vmshopper" method="upgrade">
     <name>VMSHOPPER_ORDERNUMBER</name>
     <creationDate>2013-01-09</creationDate>
     <author>Reinhold Kainhofer</author>
@@ -7,8 +7,8 @@
     <authorUrl>http://www.open-tools.net/</authorUrl>
     <copyright>Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved.</copyright>
     <license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPLv3</license>
-    <version>1.9</version>
-    <releaseDate>2014-01-13</releaseDate>
+    <version>1.10</version>
+    <releaseDate>2014-08-31</releaseDate>
     <releaseType>Minor update</releaseType>
     <downloadUrl>http://www.open-tools.net/virtuemart-2-extensions/vm2-ordernumber-plugin.html</downloadUrl>
 
@@ -18,14 +18,14 @@
         <filename plugin="ordernumber">ordernumber.php</filename>
         <filename>ordernumber.script.php</filename>
         <filename>index.html</filename>
-	<folder>language</folder>
+    <folder>language</folder>
     </files>
     <scriptfile>ordernumber.script.php</scriptfile>
     <languages folder="language">
-	<language tag="en-GB">en-GB/en-GB.plg_vmshopper_ordernumber.ini</language>
-	<language tag="en-GB">en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini</language>
-	<language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.ini</language>
-	<language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini</language>
+        <language tag="en-GB">en-GB/en-GB.plg_vmshopper_ordernumber.ini</language>
+        <language tag="en-GB">en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini</language>
+        <language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.ini</language>
+        <language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini</language>
     </languages>
     <!-- Joomla 2.5 & 3.0 config -->
     <config>
diff --git a/releases/plg_vmshopper_ordernumber_v1.10.zip b/releases/plg_vmshopper_ordernumber_v1.10.zip
new file mode 100644
index 0000000000000000000000000000000000000000..076ce15134dc99ad2fe9169eebb0649616e20d0a
Binary files /dev/null and b/releases/plg_vmshopper_ordernumber_v1.10.zip differ