diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 55d6d33..b31b682 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -83,8 +83,9 @@
 
 	validate: function(frm){
 		erpnext.item.weight_to_validate(frm);
+		erpnext.item.variants_can_not_be_created_manually(frm);
 	},
-
+	
 	image: function(frm) {
 		refresh_field("image_view");
 	},
@@ -208,5 +209,11 @@
 			validated = 0;
 		}
 	},
+	
+	variants_can_not_be_created_manually: function(frm) {
+		if (frm.doc.__islocal && frm.doc.variant_of)
+			frappe.throw(__("Variants can not be created manually, add item attributes in the template item"))
+	}
+	
 
 });
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index dcf390c..de60502 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -50,6 +50,7 @@
 
 		if self.variant_of:
 			self.copy_attributes_to_variant(frappe.get_doc("Item", self.variant_of), self)
+			
 		self.check_warehouse_is_set_for_stock_item()
 		self.check_stock_uom_with_bin()
 		self.add_default_uom_in_conversion_factor_table()
@@ -147,17 +148,21 @@
 	def validate_variants_are_unique(self):
 		if not self.has_variants:
 			self.variants = []
+			return
 
-		if self.variants and self.variant_of:
-			frappe.throw(_("Item cannot be a variant of a variant"))
-
-		variants = []
-		for d in self.variants:
-			key = (d.item_attribute, d.item_attribute_value)
-			if key in variants:
-				frappe.throw(_("{0} {1} is entered more than once in Item Variants table").format(d.item_attribute,
-					d.item_attribute_value), DuplicateVariant)
-			variants.append(key)
+		if self.variants:
+			if self.variant_of:
+				frappe.throw(_("Item cannot be a variant of a variant"))
+	
+			variants = []
+			for d in self.variants:
+				key = (d.item_attribute, d.item_attribute_value)
+				if key in variants:
+					frappe.throw(_("{0} {1} is entered more than once in Item Variants table")
+						.format(d.item_attribute, d.item_attribute_value), DuplicateVariant)
+				variants.append(key)
+		else:
+			frappe.throw(_("Please enter atleast one attribute row in Item Variants table"))
 
 	def sync_variants(self):
 		variant_item_codes = self.get_variant_item_codes()
