diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 5acd8b0..992fbe6 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -1238,10 +1238,10 @@
 	@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
 	def test_gain_loss_with_advance_entry(self):
 		unlink_enabled = frappe.db.get_single_value(
-			"Accounts Settings", "unlink_payment_on_cancel_of_invoice"
+			"Accounts Settings", "unlink_payment_on_cancellation_of_invoice"
 		)
 
-		frappe.db.set_single_value("Accounts Settings", "unlink_payment_on_cancel_of_invoice", 1)
+		frappe.db.set_single_value("Accounts Settings", "unlink_payment_on_cancellation_of_invoice", 1)
 
 		original_account = frappe.db.get_value("Company", "_Test Company", "exchange_gain_loss_account")
 		frappe.db.set_value(
@@ -1432,7 +1432,7 @@
 		pay.cancel()
 
 		frappe.db.set_single_value(
-			"Accounts Settings", "unlink_payment_on_cancel_of_invoice", unlink_enabled
+			"Accounts Settings", "unlink_payment_on_cancellation_of_invoice", unlink_enabled
 		)
 		frappe.db.set_value("Company", "_Test Company", "exchange_gain_loss_account", original_account)
 
diff --git a/erpnext/patches/v14_0/migrate_crm_settings.py b/erpnext/patches/v14_0/migrate_crm_settings.py
index d093bc3..e928626 100644
--- a/erpnext/patches/v14_0/migrate_crm_settings.py
+++ b/erpnext/patches/v14_0/migrate_crm_settings.py
@@ -2,11 +2,7 @@
 
 
 def execute():
-	settings = frappe.db.get_single_value(
-		"Selling Settings",
-		["campaign_naming_by", "close_opportunity_after_days", "default_valid_till"],
-		as_dict=True,
-	)
+	settings = frappe.db.get_singles_dict("Selling Settings", cast=True)
 
 	frappe.reload_doc("crm", "doctype", "crm_settings")
 	if settings:
diff --git a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
index 112c226..4f45210 100644
--- a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
+++ b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
@@ -140,7 +140,7 @@
 		return query[0][0] if query else None
 
 	def validate_accounts_freeze(self):
-		acc_settings = frappe.get_cached_doc("Account Settings")
+		acc_settings = frappe.get_cached_doc("Accounts Settings")
 		if not acc_settings.acc_frozen_upto:
 			return
 		if getdate(self.posting_date) <= getdate(acc_settings.acc_frozen_upto):
diff --git a/erpnext/utilities/doctype/video/video.py b/erpnext/utilities/doctype/video/video.py
index c3a653a..875c4e7 100644
--- a/erpnext/utilities/doctype/video/video.py
+++ b/erpnext/utilities/doctype/video/video.py
@@ -78,13 +78,11 @@
 
 def update_youtube_data():
 	# Called every 30 minutes via hooks
-	enable_youtube_tracking = frappe.db.get_single_value("Video Settings", "enable_youtube_tracking")
-	frequency = frappe.db.get_single_value("Video Settings", "frequency")
-
-	if not cint(enable_youtube_tracking):
+	video_settings = frappe.get_cached_doc("Video Settings")
+	if not video_settings.enable_youtube_tracking:
 		return
 
-	frequency = get_frequency(frequency)
+	frequency = get_frequency(video_settings.frequency)
 	time = datetime.now()
 	timezone = pytz.timezone(get_system_timezone())
 	site_time = time.astimezone(timezone)
