diff --git a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py
index 18645c7..c1e55f6 100644
--- a/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py
+++ b/erpnext/accounts/doctype/bank_clearance/test_bank_clearance.py
@@ -25,48 +25,6 @@
 		create_loan_masters()
 		add_transactions()
 
-	@classmethod
-	def tearDownClass(cls):
-		frappe.db.set_single_value("Accounts Settings", "delete_linked_ledger_entries", 1)
-
-		payment_entry = frappe.get_doc(
-			"Payment Entry", {"party_name": "_Test Supplier", "paid_from": "_Test Bank Clearance - _TC"}
-		)
-
-		if payment_entry.docstatus == 1:
-			payment_entry.cancel()
-			payment_entry.delete()
-
-		loan = frappe.get_doc("Loan", {"applicant": "_Test Customer"})
-
-		ld_doc = frappe.get_doc("Loan Disbursement", {"against_loan": loan.name})
-
-		if ld_doc.docstatus == 1:
-			ld_doc.cancel()
-			ld_doc.delete()
-
-		lr_doc = frappe.get_doc("Loan Repayment", {"against_loan": loan.name})
-
-		if lr_doc.docstatus == 1:
-			lr_doc.cancel()
-			lr_doc.delete()
-
-		lia = frappe.get_doc("Loan Interest Accrual", {"loan": loan.name})
-		lia.delete()
-
-		plia = frappe.get_doc("Process Loan Interest Accrual", {"loan": loan.name})
-
-		if plia.docstatus == 1:
-			plia.cancel()
-			plia.delete()
-
-		loan.load_from_db()
-		loan.cancel()
-		loan.flags.ignore_links = True
-		loan.delete()
-
-		frappe.db.set_single_value("Accounts Settings", "delete_linked_ledger_entries", 0)
-
 	# Basic test case to test if bank clearance tool doesn't break
 	# Detailed test can be added later
 	def test_bank_clearance(self):
