diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index b9463bc..d69777a 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -24,7 +24,7 @@
 	get_stock_and_account_balance,
 )
 from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
-	get_cancelled_depr_schedule,
+	get_draft_or_active_depr_schedule,
 )
 from erpnext.controllers.accounts_controller import AccountsController
 
@@ -287,7 +287,7 @@
 			if d.reference_type == "Asset" and d.reference_name:
 				asset = frappe.get_doc("Asset", d.reference_name)
 				for row in asset.get("finance_books"):
-					depr_schedule = get_cancelled_depr_schedule(asset.name, row.finance_book)
+					depr_schedule = get_draft_or_active_depr_schedule(asset.name, row.finance_book)
 
 					for s in depr_schedule:
 						if s.journal_entry == self.name:
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
index 14e849b..f6f594c 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -157,10 +157,11 @@
    "read_only": 1
   }
  ],
+ "in_create": 1,
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2022-12-15 16:28:44.585745",
+ "modified": "2022-12-26 20:32:43.342271",
  "modified_by": "Administrator",
  "module": "Assets",
  "name": "Asset Depreciation Schedule",
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
index 47965cf..d004bdb 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -42,6 +42,12 @@
 				)
 			)
 
+	def on_submit(self):
+		self.db_set("status", "Active")
+
+	def on_cancel(self):
+		self.db_set("status", "Cancelled")
+
 
 def make_draft_asset_depr_schedules_if_not_present(asset_doc):
 	for row in asset_doc.get("finance_books"):
@@ -121,6 +127,18 @@
 			asset_depr_schedule_doc.submit()
 
 
+def cancel_asset_depr_schedules(asset_doc):
+	for row in asset_doc.get("finance_books"):
+		asset_depr_schedule_doc = get_draft_or_active_asset_depr_schedule_doc(
+			asset_doc.name, row.finance_book
+		)
+
+		if not asset_depr_schedule_doc:
+			continue
+
+		asset_depr_schedule_doc.cancel()
+
+
 def make_new_active_asset_depr_schedules_and_cancel_current_ones(
 	asset_doc, notes, date_of_disposal=None, date_of_return=None
 ):
@@ -165,18 +183,6 @@
 	return asset_depr_schedule_doc
 
 
-def cancel_asset_depr_schedules(asset_doc):
-	for row in asset_doc.get("finance_books"):
-		asset_depr_schedule_doc = get_draft_or_active_asset_depr_schedule_doc(
-			asset_doc.name, row.finance_book
-		)
-
-		if not asset_depr_schedule_doc:
-			continue
-
-		asset_depr_schedule_doc.cancel()
-
-
 def get_draft_or_active_asset_depr_schedule_name(asset_name, finance_book=None):
 	finance_book_filter = ["finance_book", "is", "not set"]
 	if finance_book:
@@ -197,15 +203,23 @@
 	if finance_book:
 		finance_book_filter = ["finance_book", "=", finance_book]
 
-	return frappe.db.get_value(
+	cancelled_asset_depr_schedule_names = frappe.db.get_all(
 		doctype="Asset Depreciation Schedule",
 		filters=[
 			["asset", "=", asset_name],
 			finance_book_filter,
-			["docstatus", "=", "2"],
+			["status", "=", "Cancelled"],
 		],
+		order_by="creation desc",
+		limit=1,
+		pluck="name",
 	)
 
+	if cancelled_asset_depr_schedule_names:
+		return cancelled_asset_depr_schedule_names[0]
+
+	return
+
 
 @frappe.whitelist()
 def get_draft_or_active_depr_schedule(asset_name, finance_book=None):
diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
index 3ead832..90ecfec 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
@@ -167,7 +167,6 @@
 				if not asset_data.journal_entry:
 					asset_data.db_update()
 
-			new_asset_depr_schedule_doc.status = "Active"
 			new_asset_depr_schedule_doc.submit()
 
 
diff --git a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
index 14d3689..8dcbb2a 100644
--- a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
+++ b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
@@ -30,7 +30,6 @@
 			update_depreciation_schedules(asset.name, asset_depr_schedule_doc.name, fb_row.idx)
 
 			if asset.docstatus == 1:
-				asset_depr_schedule_doc.status = "Active"
 				asset_depr_schedule_doc.submit()
 
 
