diff --git a/erpnext/public/js/controllers/accounts.js b/erpnext/public/js/controllers/accounts.js
index 6e97d81..1bceec0 100644
--- a/erpnext/public/js/controllers/accounts.js
+++ b/erpnext/public/js/controllers/accounts.js
@@ -146,18 +146,21 @@
 	if(!d.charge_type && d.account_head){
 		frappe.msgprint(__("Please select Charge Type first"));
 		frappe.model.set_value(cdt, cdn, "account_head", "");
-	} else if(d.account_head && d.charge_type!=="Actual") {
+	} else if(d.account_head) {
 		frappe.call({
 			type:"GET",
 			method: "erpnext.controllers.accounts_controller.get_tax_rate",
 			args: {"account_head":d.account_head},
 			callback: function(r) {
-				frappe.model.set_value(cdt, cdn, "rate", r.message.tax_rate || 0);
-				frappe.model.set_value(cdt, cdn, "description", r.message.account_name);
+				if(d.charge_type!=="Actual"){
+					frappe.model.set_value(cdt, cdn, "rate", r.message.tax_rate || 0);
+					frappe.model.set_value(cdt, cdn, "description", r.message.account_name);
+				}
+				else if(d.charge_type == 'Actual'){
+					frappe.model.set_value(cdt, cdn, "description", r.message.account_name);
+				}
 			}
 		})
-	} else if (d.charge_type == 'Actual' && d.account_head) {
-		frappe.model.set_value(cdt, cdn, "description", d.account_head.split(' - ')[0]);
 	}
 }
 
