diff --git a/erpnext/patches/v11_0/refactor_naming_series.py b/erpnext/patches/v11_0/refactor_naming_series.py
index a3682de..1e4a53c 100644
--- a/erpnext/patches/v11_0/refactor_naming_series.py
+++ b/erpnext/patches/v11_0/refactor_naming_series.py
@@ -4,6 +4,7 @@
 from __future__ import print_function, unicode_literals
 
 import frappe
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 
 doctype_series_map = {
 	'Additional Salary': 'HR-ADS-.YY.-.MM.-',
@@ -73,14 +74,27 @@
 }
 
 def execute():
+	frappe.db.sql("""
+		update `tabProperty Setter`
+		set name=concat(doc_type, '-', field_name, '-', property)
+		where property='fetch_from'
+	""")
 	series_to_set = get_series()
 	for doctype, opts in series_to_set.items():
 		set_series(doctype, opts["options"], opts["default"])
 
 def set_series(doctype, options, default):
-	make_property_setter(doctype, "options", options)
+	def _make_property_setter(property_name, value):
+		property_setter = frappe.db.exists('Property Setter',
+			{'doc_type': doctype, 'field_name': 'naming_series', 'property': property_name})
+		if property_setter:
+			frappe.db.set_value('Property Setter', property_setter, 'value', value)
+		else:
+			make_property_setter(doctype, "naming_series", "options", value, "Text")
+
+	_make_property_setter("options", options)
 	if default:
-		make_property_setter(doctype, "default", default)
+		_make_property_setter("default", default)
 
 def get_series():
 	series_to_set = {}
@@ -115,28 +129,4 @@
 
 def get_default_series(doctype):
 	default_series = (frappe.get_meta(doctype).get_field("naming_series").default or "")
-	return default_series
-
-def make_property_setter(doctype, property_name, value):
-	property_setter = frappe.db.exists('Property Setter',
-			{'doc_type': doctype, 'field_name': 'naming_series', 'property': property_name})
-	if property_setter:
-			frappe.db.set_value('Property Setter', property_setter, 'value', value)
-	else:
-		property_setter = frappe.get_doc({
-			"doctype":"Property Setter",
-			"doctype_or_field": "DocField",
-			"doc_type": doctype,
-			"field_name": 'naming_series',
-			"property": property_name,
-			"value": value,
-			"property_type": "Text"
-		})
-		property_setter.flags.ignore_permissions = True
-		property_setter.flags.validate_fields_for_doctype = True
-		try:
-			property_setter.insert()
-		except frappe.DuplicateEntryError:
-			name = "{0}-{1}-{2}-1".format(doctype, fieldname, property)
-			property_setter.name = name
-			property_setter.insert()
\ No newline at end of file
+	return default_series
\ No newline at end of file
diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.py b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
index 12b6a4a..955783a 100644
--- a/erpnext/stock/doctype/delivery_trip/delivery_trip.py
+++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.py
@@ -10,7 +10,6 @@
 from frappe.model.document import Document
 from frappe.utils.user import get_user_fullname
 from frappe.utils import getdate, cstr
-from frappe.integrations.doctype.google_maps.google_maps_settings import round_timedelta, format_address
 
 class DeliveryTrip(Document):
 	pass
