diff --git a/erpnext/accounts/doctype/subscription/subscription.py b/erpnext/accounts/doctype/subscription/subscription.py
index 8171b3b..092002f 100644
--- a/erpnext/accounts/doctype/subscription/subscription.py
+++ b/erpnext/accounts/doctype/subscription/subscription.py
@@ -542,8 +542,7 @@
 			else:
 				self.set_status_grace_period()
 
-			if getdate() > getdate(self.current_invoice_end):
-				self.update_subscription_period(add_days(self.current_invoice_end, 1))
+			update_subscription = True if getdate() > getdate(self.current_invoice_end) else False
 
 			# Generate invoices periodically even if current invoice are unpaid
 			if self.generate_new_invoices_past_due_date and not self.is_current_invoice_generated() and (self.is_postpaid_to_invoice()
@@ -551,6 +550,9 @@
 				prorate = frappe.db.get_single_value('Subscription Settings', 'prorate')
 				self.generate_invoice(prorate)
 
+			if update_subscription:
+				self.update_subscription_period(add_days(self.current_invoice_end, 1))
+
 	@staticmethod
 	def is_paid(invoice):
 		"""
diff --git a/erpnext/accounts/doctype/subscription/test_subscription.py b/erpnext/accounts/doctype/subscription/test_subscription.py
index e2cf4d5..ec8b257 100644
--- a/erpnext/accounts/doctype/subscription/test_subscription.py
+++ b/erpnext/accounts/doctype/subscription/test_subscription.py
@@ -20,6 +20,43 @@
 
 
 def create_plan():
+
+	if not frappe.db.exists('UOM', {"name": '_Test UOM'}):
+		frappe.get_doc({
+			"doctype": "UOM",
+			"uom_name": "_Test UOM"
+		}).insert()
+
+	if not frappe.db.exists('Item Group', {"name": '_Test Item Group Desktops'}):
+		frappe.get_doc({
+			"doctype": "Item Group",
+			"is_group": 0,
+			"item_group_name": "_Test Item Group Desktops",
+			"parent_item_group": "All Item Groups"
+		}).insert()
+
+	if not frappe.db.exists('Item', {"item_name": '_Test Non Stock Item'}):
+		frappe.get_doc({
+			"description": "_Test Non Stock Item 7",
+			"doctype": "Item",
+			"has_batch_no": 0,
+			"has_serial_no": 0,
+			"inspection_required": 0,
+			"is_stock_item": 0,
+			"is_sub_contracted_item": 0,
+			"item_code": "_Test Non Stock Item",
+			"item_group": "_Test Item Group Desktops",
+			"item_name": "_Test Non Stock Item",
+			"stock_uom": "_Test UOM",
+			"gst_hsn_code": "999800",
+			"item_defaults": [{
+				"company": "_Test Company",
+				"default_warehouse": "Finished Goods - _TC",
+				"expense_account": "Gegenkonto zu Konto 9260 - 9268 - _TC",
+				"income_account": "Kurzfristige Rückstellungen - _TC"
+			}]
+		}).insert()
+
 	if not frappe.db.exists('Subscription Plan', '_Test Plan Name'):
 		plan = frappe.new_doc('Subscription Plan')
 		plan.plan_name = '_Test Plan Name'
@@ -619,7 +656,7 @@
 		# subscription
 
 		subscription.process()
-		self.assertEqual(len(subscription.invoices), 2)
+		self.assertEqual(len(subscription.invoices), 1)
 
 	def test_subscription_without_generate_invoice_past_due(self):
 		subscription = frappe.new_doc('Subscription')
