diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index b8e2e35..be97e81 100755
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -586,3 +586,4 @@
 erpnext.patches.v11_0.add_permissions_in_gst_settings
 erpnext.patches.v11_1.setup_guardian_role
 execute:frappe.delete_doc('DocType', 'Notification Control')
+erpnext.patches.v11_0.remove_barcodes_field_from_copy_fields_to_variants #asdf
diff --git a/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py b/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py
new file mode 100644
index 0000000..97ddd41
--- /dev/null
+++ b/erpnext/patches/v11_0/remove_barcodes_field_from_copy_fields_to_variants.py
@@ -0,0 +1,7 @@
+import frappe
+
+def execute():
+	'''Remove barcodes field from "Copy Fields to Variants" table because barcodes must be unique'''
+
+	settings = frappe.get_doc('Item Variant Settings')
+	settings.remove_invalid_fields_for_copy_fields_in_variants()
diff --git a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
index 678de1a..0422442 100644
--- a/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
+++ b/erpnext/stock/doctype/item_variant_settings/item_variant_settings.py
@@ -5,14 +5,17 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe import _
 
 class ItemVariantSettings(Document):
+	invalid_fields_for_copy_fields_in_variants = ['barcodes']
+
 	def set_default_fields(self):
 		self.fields = []
 		fields = frappe.get_meta('Item').fields
 		exclude_fields = ["naming_series", "item_code", "item_name", "show_in_website",
 			"show_variant_in_website", "standard_rate", "opening_stock", "image", "description",
-			"variant_of", "valuation_rate", "description",
+			"variant_of", "valuation_rate", "description", "barcodes",
 			"website_image", "thumbnail", "website_specifiations", "web_long_description"]
 
 		for d in fields:
@@ -20,4 +23,14 @@
 				d.fieldtype not in ['HTML', 'Section Break', 'Column Break', 'Button', 'Read Only']:
 				self.append('fields', {
 					'field_name': d.fieldname
-				})
\ No newline at end of file
+				})
+
+	def remove_invalid_fields_for_copy_fields_in_variants(self):
+		fields = [row for row in self.fields if row.field_name not in self.invalid_fields_for_copy_fields_in_variants]
+		self.fields = fields
+		self.save()
+
+	def validate(self):
+		for d in self.fields:
+			if d.field_name in self.invalid_fields_for_copy_fields_in_variants:
+				frappe.throw(_('Cannot set the field <b>{0}</b> for copying in variants').format(d.field_name))
