diff --git a/2016-12-11_debug_OpenTools_UpdateCredentialsCheck.patch b/2016-12-11_debug_OpenTools_UpdateCredentialsCheck.patch
deleted file mode 100644
index b002d6c5867e506636a204e3fc0c0bce84c902a0..0000000000000000000000000000000000000000
--- a/2016-12-11_debug_OpenTools_UpdateCredentialsCheck.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/opentools-update-checker.php b/opentools-update-checker.php
-index b01fa1d..49f45ad 100644
---- a/opentools-update-checker.php
-+++ b/opentools-update-checker.php
-@@ -23,6 +23,7 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 {
- 	public function __construct($metadataUrl, $pluginFile, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '')
- 	{
- 		parent::__construct($metadataUrl, $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile);
-+		$this->debugMode = TRUE;
- 		$this->installOTHooks();
- 	}
- 	public function declareCredentials($credential_def) {
-@@ -249,6 +250,9 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 {
- 			$success = ($status_code==200);
- 		} else {
- 			$message = __('Unable to access plugin download URL. Please check your credentials.');
-+			if ($this->debugMode) {
-+				$message .= "<pre>updateinfo: ".print_r($updateinfo,1)."</pre>";
-+			}
- 		}
- 		return $success;
- 	}
-diff --git a/plugin-update-checker/plugin-update-checker.php b/plugin-update-checker/plugin-update-checker.php
-index 8a5c92f..af74a8a 100644
---- a/plugin-update-checker/plugin-update-checker.php
-+++ b/plugin-update-checker/plugin-update-checker.php
-@@ -221,7 +221,7 @@ class PluginUpdateChecker_2_1 {
- 		);
- 
- 		//Try to parse the response
--		$pluginInfo = null;
-+		$pluginInfo = new stdClass();
- 		if ( !is_wp_error($result) && isset($result['response']['code']) && ($result['response']['code'] == 200) && !empty($result['body']) ){
- 			$pluginInfo = PluginInfo_2_1::fromJson($result['body'], $this->debugMode);
-  			$pluginInfo->filename = $this->pluginFile;
-@@ -237,6 +237,7 @@ class PluginUpdateChecker_2_1 {
- 			}
- 			trigger_error($message, E_USER_WARNING);
- 		}
-+		$pluginInfo->response = $result;
- 
- 		$pluginInfo = apply_filters('puc_request_info_result-'.$this->slug, $pluginInfo, $result);
- 		return $pluginInfo;
diff --git a/Makefile b/Makefile
index cb2e0a2066090c11b8aa64f2f5fcbd22bf970384..9305a9474f07e0d2baf640355f24dd6a6d36b453 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 BASE=shipping-by-rules
 PLATTFORM=woocommerce
 VENDOR=opentools
-VERSION=1.2.7
+VERSION=1.2.8
 DIR = $(shell pwd)
 SVNDIR=wordpress-plugin-svn
 
@@ -45,4 +45,4 @@ svn: $(SVNDIR)/trunk $(SVNDIR)/tags/$(VERSION)
 
 svn-release: svn $(SVNDIR)/tags/$(VERSION)
 	rsync -avP $(PLUGINFILES) $(BASICPLUGINFILES) $(TRANSLATIONS) $(SVNDIR)/tags/$(VERSION)
-	
\ No newline at end of file
+	
diff --git a/includes/rules_shipping_framework_woocommerce_advanced.php b/includes/rules_shipping_framework_woocommerce_advanced.php
index eb8ace3ab4d59d11582de2cf50b85e587e34ed2e..0174224c70061d72df903d0a109dbd124eba44e3 100644
--- a/includes/rules_shipping_framework_woocommerce_advanced.php
+++ b/includes/rules_shipping_framework_woocommerce_advanced.php
@@ -33,9 +33,9 @@ class RulesShippingFrameworkWooCommerceAdvanced extends RulesShippingFrameworkWo
 		$data = parent::getOrderAddress($cart, $method);
 		$address = $cart['destination'];
 		$zip = isset($address['postcode'])?trim($address['postcode']):'';
-		if (isset($zip) && $zip!='') {
-			$data = array_merge($data, $this->getAddressZIP($zip));
-		}
+		// Also call getAddressZIP if no zip code is given. All fields will
+		// be set to NULL, but at least they will exist!
+		$data = array_merge($data, $this->getAddressZIP($zip));
 		return $data;
 	}
 	
diff --git a/readme-adv.txt b/readme-adv.txt
index a030b85962ca3a9647f06d59be0eec323424713d..99fadff441fc3a496a36a8746b84b890286df8dc 100644
--- a/readme-adv.txt
+++ b/readme-adv.txt
@@ -3,7 +3,7 @@ Contributors: opentools
 Tags: WooCommerce, Shipment, Shipping
 Requires at least: 4.0
 Tested up to: 4.5
-Stable tag: 1.2.6debug
+Stable tag: 1.2.8
 License: GPLv3 or later
 License URI: http://www.gnu.org/licenses/gpl.html
 
diff --git a/readme.txt b/readme.txt
index 485560c1b2037174994cb5b1846ecc54366a9b18..91b7288f0d544653a84587f3b867f30bfd9a7e68 100644
--- a/readme.txt
+++ b/readme.txt
@@ -3,7 +3,7 @@ Contributors: opentools
 Tags: WooCommerce, Shipment, Shipping, Rules shipping
 Requires at least: 4.0
 Tested up to: 4.7
-Stable tag: 1.2.7
+Stable tag: 1.2.8
 License: GPLv3 or later
 License URI: http://www.gnu.org/licenses/gpl.html
 
@@ -69,6 +69,9 @@ Please see our support forum at http://open-tools.net/forum/. It might also be a
 
 == Changelog ==
 
+= 1.2.8 =
+* Fix issues with UK_* variables when no address is entered yet
+
 = 1.2.7 =
 * Add debug messages to the update system (disabled by default)
 
diff --git a/releases/opentools-woocommerce-advanced-shipping-by-rules_v1.2.8.zip b/releases/opentools-woocommerce-advanced-shipping-by-rules_v1.2.8.zip
new file mode 100644
index 0000000000000000000000000000000000000000..bb12165e98c64c1aa03307cd89a3e0be569cf801
Binary files /dev/null and b/releases/opentools-woocommerce-advanced-shipping-by-rules_v1.2.8.zip differ
diff --git a/releases/opentools-woocommerce-shipping-by-rules_v1.2.8.zip b/releases/opentools-woocommerce-shipping-by-rules_v1.2.8.zip
new file mode 100644
index 0000000000000000000000000000000000000000..b3ae6c9a917f26f816468a60e45ae0c81ac68cc1
Binary files /dev/null and b/releases/opentools-woocommerce-shipping-by-rules_v1.2.8.zip differ
diff --git a/woocommerce-advanced-shipping-by-rules.php b/woocommerce-advanced-shipping-by-rules.php
index 289a01ce53c41221396e77ba61ae1f9f2d1cb80b..d1841f2d8ebcf52b7a3ab4a1eb633e943cddc4f7 100644
--- a/woocommerce-advanced-shipping-by-rules.php
+++ b/woocommerce-advanced-shipping-by-rules.php
@@ -3,7 +3,7 @@
  * Plugin Name: WooCommerce Advanced Shipping By Rules
  * Plugin URI: http://open-tools.net/woocommerce/advanced-shipping-by-rules-for-woocommerce.html
  * Description: Define Shipping cost by very general and flexible (text-based) rules. The advanced version also provides mathematical expressions and functions
- * Version: 1.2.7
+ * Version: 1.2.8
  * Author: Open Tools, Reinhold Kainhofer
  * Author URI: http://open-tools.net
  * Text Domain: woocommerce-advanced-shipping-by-rules
@@ -75,7 +75,7 @@ class WooCommerce_Shipping_By_Rules_Advanced {
 	 * @since 1.0.0
 	 * @var string $version Plugin version number.
 	 */
-	public $version = '1.2.7';
+	public $version = '1.2.8';
 
 
 	/**
diff --git a/woocommerce-shipping-by-rules.php b/woocommerce-shipping-by-rules.php
index d792aaf6bfc37f2ab2d7de940c9d5f5e70b3f316..f08a4a8ca3801880fdaf8085676dbd2753fb2930 100644
--- a/woocommerce-shipping-by-rules.php
+++ b/woocommerce-shipping-by-rules.php
@@ -3,7 +3,7 @@
  * Plugin Name: WooCommerce Shipping By Rules
  * Plugin URI: http://open-tools.net/woocommerce/advanced-shipping-by-rules-for-woocommerce.html
  * Description: Define Shipping cost by very general and flexible (text-based) rules.
- * Version: 1.2.7
+ * Version: 1.2.8
  * Author: Open Tools, Reinhold Kainhofer
  * Author URI: http://open-tools.net
  * Text Domain: woocommerce-shipping-by-rules
@@ -48,7 +48,7 @@ class WooCommerce_Shipping_By_Rules {
 	 * @since 1.0.0
 	 * @var string $version Plugin version number.
 	 */
-	public $version = '1.2.7';
+	public $version = '1.2.8';
 
 
 	/**