diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py
index 07086dc..32e0a65 100755
--- a/hr/doctype/leave_application/leave_application.py
+++ b/hr/doctype/leave_application/leave_application.py
@@ -36,6 +36,7 @@
 		self.validate_balance_leaves()
 		self.validate_leave_overlap()
 		self.validate_max_days()
+		self.show_block_day_warning()
 		self.validate_block_days()
 		
 	def on_update(self):
@@ -60,6 +61,17 @@
 		# notify leave applier about cancellation
 		self.notify_employee("cancelled")
 
+	def show_block_day_warning(self):
+		from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates		
+
+		block_dates = get_applicable_block_dates(self.doc.from_date, self.doc.to_date, 
+			self.doc.employee, self.doc.company, all_lists=True)
+			
+		if block_dates:
+			webnotes.msgprint(_("Warning: Leave application contains following block dates") + ":")
+			for d in block_dates:
+				webnotes.msgprint(formatdate(d.block_date) + ": " + d.reason)
+
 	def validate_block_days(self):
 		from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
 
@@ -67,11 +79,8 @@
 			self.doc.employee, self.doc.company)
 			
 		if block_dates:
-			webnotes.msgprint(_("Following dates are blocked for Leave") + ":")
-			for d in block_dates:
-				webnotes.msgprint(formatdate(d.block_date) + ": " + d.reason)
-				
 			if self.doc.status == "Approved":
+				webnotes.msgprint(_("Cannot approve leave as you are not authorized to approve leaves on Block Dates."))
 				raise LeaveDayBlockedError
 			
 	def get_holidays(self):
