diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index cf9509a..13c0fee 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -118,12 +118,14 @@
 	# validate negative stock (validate if stock is going -ve in between for back dated entries will consider only is_cancel = 'No' entries)
 	# --------------------------------------------------------------------------------------------------------------------------------------
 	def validate_negative_stock(self, cqty, s):
-		if cqty + s['actual_qty'] < 0 and s['is_cancelled'] != 'Yes':
-			msgprint(cqty)
-			msgprint(s['actual_qty'])
-			msgprint('Cannot complete this transaction because stock will become negative in future transaction for Item <b>%s</b> in Warehouse <b>%s</b> on <b>%s %s</b>' % \
-				(self.doc.item_code, self.doc.warehouse, s['posting_date'], s['posting_time']))
-			raise Exception
+		diff = cqty + s['actual_qty']
+		if  diff < 0 and (abs(diff) > 0.0001) and s['is_cancelled'] != 'Yes':
+			msgprint("""
+				Cannot complete this transaction because stock will 
+				become negative (%s) in future transaction for Item 
+				<b>%s</b> in Warehouse <b>%s</b> on <b>%s %s</b>""" % \
+				(str(diff), self.doc.item_code, self.doc.warehouse,
+					s['posting_date'], s['posting_time']), raise_exception=1)
 
 	# ------------------------------------
 	# get serialized inventory values
diff --git a/erpnext/stock/doctype/valuation_control/valuation_control.py b/erpnext/stock/doctype/valuation_control/valuation_control.py
index 27170ce..f37b7e7 100644
--- a/erpnext/stock/doctype/valuation_control/valuation_control.py
+++ b/erpnext/stock/doctype/valuation_control/valuation_control.py
@@ -108,7 +108,7 @@
 				if not prev_sle:
 					return 0.0
 				fcfs_stack = eval(prev_sle.get('fcfs_stack', '[]'))
-				in_rate = fcfs_stack and self.get_fifo_rate(fcfs_stack, qty) or 0
+				in_rate = fcfs_stack and self.get_fifo_rate(fcfs_stack) or 0
 		elif val_method == 'Moving Average':
 			prev_sle = bin_obj.get_prev_sle(posting_date, posting_time)
 			in_rate = prev_sle and prev_sle.get('valuation_rate', 0) or 0
