diff --git a/Makefile b/Makefile
index a6520cd009b0dee8d4c21b14fdf380091cca7572..a76e1cf579bf381e181c73de92ab358abae43758 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 BASE=downloads_for_sale
 PLUGINTYPE=vmcustom
-VERSION=1.5.2
+VERSION=1.5.3
 
 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html
 
diff --git a/downloads_for_sale.xml b/downloads_for_sale.xml
index 452b36e53f35bb5f203e6570ea9105fd5f1f6b5c..fd61d3f6b08c25dbad57c8b997d74bd66e5c6e7f 100644
--- a/downloads_for_sale.xml
+++ b/downloads_for_sale.xml
@@ -6,7 +6,7 @@
     <authorUrl>http://www.open-tools.net/</authorUrl>
     <copyright>Copyright (C) 2013 Reinhold Kainhofer. All rights reserved.</copyright>
     <license>http://www.gnu.org/licenses/gpl.html GNU/GPL v3+</license>
-    <version>1.5.2</version>
+    <version>1.5.3</version>
     <description>VMCUSTOM_DLSALE_DESC</description>
     <files>
         <filename plugin="downloads_for_sale">downloads_for_sale.php</filename>
diff --git a/downloads_for_sale/tmpl/downloads.php b/downloads_for_sale/tmpl/downloads.php
index 6f0546f2ba968d6a2b589a840f2fef2c3a3fcdf7..a6188f38999e0766100e5dc93933f379c2387109 100644
--- a/downloads_for_sale/tmpl/downloads.php
+++ b/downloads_for_sale/tmpl/downloads.php
@@ -23,11 +23,11 @@ if(JFile::exists(VMDLSALE_PLUGINPATH.DS.'downloads_for_sale'.DS.'assets'.DS.'dow
 <p>
 	<form action="<?php echo JRoute::_( 'index.php', 1); ?>" method="post" >
 		<div class="width30 floatleft" id="com-form-order-number">
-			<label for="order_number"><?php echo JText::_('COM_VIRTUEMART_ORDER_NUMBER') ?></label><br />
+			<label for="order_number"><?php echo JText::_('VMCUSTOM_DLSALE_DLPAGE_ORDER_NUMBER') ?></label><br />
 			<input type="text" id="order_number" name="order_number" class="inputbox" size="18" alt="order_number" />
 		</div>
 		<div class="width30 floatleft" id="com-form-order-pass">
-			<label for="order_pass"><?php echo JText::_('COM_VIRTUEMART_ORDER_PASS') ?></label><br />
+			<label for="order_pass"><?php echo JText::_('VMCUSTOM_DLSALE_DLPAGE_ORDER_PASS') ?></label><br />
 			<input type="text" id="order_pass" name="order_pass" class="inputbox" size="18" alt="order_pass" value="p_"/>
 		</div>
 		<div class="width30 floatleft" id="com-form-order-submit">
diff --git a/elements/vmdlorderstate.php b/elements/vmdlorderstate.php
index 6fea04ad9e740fdfd345e229624c75e2867791e9..2aed4ee00ba8eda1256a77e7a38539e1c2b82610 100644
--- a/elements/vmdlorderstate.php
+++ b/elements/vmdlorderstate.php
@@ -14,6 +14,9 @@ defined ('_JEXEC') or die();
  * other free or open source software licenses.
  * @version $Id:$
  */
+if (!class_exists('VmConfig'))  require(JPATH_VM_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
+if(!class_exists('VmModel'))    require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'vmmodel.php');
+
 /*
  * This class is used by VirtueMart Payment or Shipment Plugins
  * which uses JParameter
@@ -31,26 +34,16 @@ class JElementVmDLOrderState extends JElement {
 	var $_name = 'DownloadOrderState';
 
 	function fetchElement ($name, $value, &$node, $control_name) {
-
-		$db = JFactory::getDBO ();
-
-		$query = 'SELECT `order_status_code` AS value, `order_status_name` AS text
-                 FROM `#__virtuemart_orderstates`
-                 WHERE `virtuemart_vendor_id` = 1
-                 ORDER BY `ordering` ASC ';
-
-		$db->setQuery ($query);
-		$fields = $db->loadObjectList ();
+		$statusModel = VmModel::getModel('OrderStatus');
 		$class = '';
-		foreach ($fields as $field) {
-			$field->text= JText::_ ($field->text);
-		}
+		$fields = $statusModel->getOrderStatusNames();
+
 		$unchanged = new stdClass();
-		$unchanged->text = JText::_ ('VMCUSTOM_DLSALE_STATUS_UNCHANGED');
-		$unchanged->value = '';
+		$unchanged->order_status_name = 'VMCUSTOM_DLSALE_STATUS_UNCHANGED';
+		$unchanged->order_status_code = '';
 		array_unshift($fields, $unchanged);
 
-		return $html .JHTML::_ ('select.genericlist', $fields, $control_name . '[' . $name . ']', $class, 'value', 'text', $value, $control_name . $name);
+		return JHTML::_ ('select.genericlist', $fields, $control_name . '[' . $name . ']', $class, 'order_status_code', 'order_status_name', $value, $control_name . $name, true);
 	}
 
 }
\ No newline at end of file
diff --git a/elements/vmorderstates.php b/elements/vmorderstates.php
index c55b18fd82df7eeb720714bd49deece41ef5284f..25798b9fa8de35f7e14e0c807670ab1f01ec1a9c 100644
--- a/elements/vmorderstates.php
+++ b/elements/vmorderstates.php
@@ -14,13 +14,15 @@ defined ('_JEXEC') or die();
  * other free or open source software licenses.
  * @version $Id:$
  */
+if (!class_exists('VmConfig'))  require(JPATH_VM_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
+if(!class_exists('VmModel'))    require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'vmmodel.php');
+
 /*
  * This class is used by VirtueMart Payment or Shipment Plugins
  * which uses JParameter
  * So It should be an extension of JElement
  * Those plugins cannot be configured througth the Plugin Manager anyway.
  */
-
 class JElementVmOrderStates extends JElement {
 
 	/**
@@ -32,22 +34,10 @@ class JElementVmOrderStates extends JElement {
 	var $_name = 'OrderStates';
 
 	function fetchElement ($name, $value, &$node, $control_name) {
-
-		$db = JFactory::getDBO ();
-
-		$query = 'SELECT `order_status_code` AS value, `order_status_name` AS text
-                 FROM `#__virtuemart_orderstates`
-                 WHERE `virtuemart_vendor_id` = 1
-                 ORDER BY `ordering` ASC ';
-
-		$db->setQuery ($query);
-		$fields = $db->loadObjectList ();
+		$statusModel = VmModel::getModel('OrderStatus');
+		$fields = $statusModel->getOrderStatusNames();
 		$class = 'class="inputbox" multiple="multiple" size="6" ';
-		foreach ($fields as $field) {
-			$field->text= JText::_ ($field->text);
-		}
 
-		return JHTML::_ ('select.genericlist', $fields, $control_name . '[' . $name . '][]', $class, 'value', 'text', $value, $control_name . $name);
+		return JHTML::_ ('select.genericlist', $fields, $control_name . '[' . $name . '][]', $class, 'order_status_code', 'order_status_name', $value, $control_name . $name, true);
 	}
-
 }
diff --git a/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini
index 9a065cb55c87ac1f5bfa7154ba4257234380416b..5ff6b842074dd382576c5d8ac56f7398bd4dc618 100644
--- a/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini
+++ b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini
@@ -39,6 +39,8 @@ VMCUSTOM_DLSALE_ERROR_STATUS_NOT_AUTHORIZED="Bestellungsstatus erlaubt keinen Do
 VMCUSTOM_DLSALE_ERROR_NOT_AUTHORIZED_UNKNOWN="Nicht zum Download authorisiert."
 
 VMCUSTOM_DLSALE_DLPAGE_TITLE="Downloads zu verkaufen"
+VMCUSTOM_DLSALE_DLPAGE_ORDER_NUMBER="Auftragsnummer"
+VMCUSTOM_DLSALE_DLPAGE_ORDER_PASS="Geheimschlüssel / Auftragspasswort"
 VMCUSTOM_DLSALE_DLPAGE_BUTTON_VIEW="Downloads anzeigen"
 VMCUSTOM_DLSALE_DLPAGE_NO_DOWNLOADS="Keine Downloads verfügbar"
 VMCUSTOM_DLSALE_DLPAGE_ORDER_NO_DOWNLOADS="Keine Downloads verfügbar für Bestellung %s"
diff --git a/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini
index 74e1f5a84857ed148c81118ed42f3cd8bd3ce135..dfed1dcf40fd8d734cf3438662ebb7f09846c3e3 100644
--- a/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini
+++ b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini
@@ -40,6 +40,8 @@ VMCUSTOM_DLSALE_ERROR_STATUS_NOT_AUTHORIZED="Order status does not allow downloa
 VMCUSTOM_DLSALE_ERROR_NOT_AUTHORIZED_UNKNOWN="Not authorized to download."
 
 VMCUSTOM_DLSALE_DLPAGE_TITLE="Downloads for Sale"
+VMCUSTOM_DLSALE_DLPAGE_ORDER_NUMBER="Order Number"
+VMCUSTOM_DLSALE_DLPAGE_ORDER_PASS="Secret Key / Order Password"
 VMCUSTOM_DLSALE_DLPAGE_BUTTON_VIEW="See Downloads"
 VMCUSTOM_DLSALE_DLPAGE_NO_DOWNLOADS="No Downloads Available"
 VMCUSTOM_DLSALE_DLPAGE_ORDER_NO_DOWNLOADS="No Downloads Available for order %s"
diff --git a/releases/plg_vmcustom_downloads_for_sale_v1.5.3.zip b/releases/plg_vmcustom_downloads_for_sale_v1.5.3.zip
new file mode 100644
index 0000000000000000000000000000000000000000..0215c605155af138e0267a0ad35cf4fbb6df9499
Binary files /dev/null and b/releases/plg_vmcustom_downloads_for_sale_v1.5.3.zip differ