diff --git a/vendor/magento/module-customer-custom-attributes/Observer/SalesQuoteAddressAfterSave.php b/vendor/magento/module-customer-custom-attributes/Observer/SalesQuoteAddressAfterSave.php
index 64e50ac..60a3eb2 100644
--- a/vendor/magento/module-customer-custom-attributes/Observer/SalesQuoteAddressAfterSave.php
+++ b/vendor/magento/module-customer-custom-attributes/Observer/SalesQuoteAddressAfterSave.php
@@ -54,6 +54,10 @@ class SalesQuoteAddressAfterSave implements ObserverInterface
         $quoteAddress = $observer->getEvent()->getQuoteAddress();
         if ($quoteAddress instanceof \Magento\Framework\Model\AbstractModel) {
             $this->processComplexAttributes($quoteAddress);
+
+            //this is a shameful hack to remove prefixes that are somewhere added to custom address attributes
+            $this->fixCustomAttributes($quoteAddress);
+            
             /** @var $quoteAddressModel \Magento\CustomerCustomAttributes\Model\Sales\Quote\Address */
             $quoteAddressModel = $this->quoteAddressFactory->create();
             $quoteAddressModel->saveAttributeData($quoteAddress);
@@ -61,6 +65,22 @@ class SalesQuoteAddressAfterSave implements ObserverInterface
         return $this;
     }
 
+    protected function fixCustomAttributes($quoteAddress)
+    {
+        foreach(['suburb', 'building'] as $attribute) {
+            if ($quoteAddress->getData($attribute)) {
+                $quoteAddress->setData($attribute, $this->removePrefix($quoteAddress->getData($attribute), $attribute));
+            }
+        }
+    }
+    
+    protected function removePrefix($text, $prefix) {
+        if (0 === strpos($text, $prefix)) {
+            $text = substr($text, strlen($prefix));
+        }
+        return trim($text);
+    }
+
     /**
      * Prepare values for complex custom attributes
      *
