diff --git a/erpnext/home/page/desktop/desktop.css b/erpnext/home/page/desktop/desktop.css
index 836469c..e460c11 100644
--- a/erpnext/home/page/desktop/desktop.css
+++ b/erpnext/home/page/desktop/desktop.css
@@ -85,10 +85,11 @@
 }
 
 .circle {
-	border-radius: 100%;
-	-moz-border-radius: 100%;
-	-webkit-border-radius: 100%;
+	border-radius: 30px;
+	-moz-border-radius: 30px;
+	-webkit-border-radius: 30px;
 	height: 15px;
+	line-height: 12px;
 	min-width: 15px;
 	background: #B00D07;
 	padding: 3px;
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 5687145..6448574 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -103,30 +103,35 @@
 
 
 // ========== Update Messages ============
-var update_messages = function() {
+var update_messages = function(reset) {
 	// Updates Team Messages
 	
 	if(inList(['Guest'], user)) { return; }
-	
-	$c_page('home', 'event_updates', 'get_unread_messages', null,
-		function(r,rt) {
-			if(!r.exc) {
-				// This function is defined in toolbar.js
-				page_body.wntoolbar.set_new_comments(r.message);
-				var circle = $('#msg_count')
-				if(circle) {
-					if(r.message.length) {
-						circle.find('span:first').text(r.message.length);
-						circle.toggle(true);
-					} else {
-						circle.toggle(false);
+
+	if(!reset) {
+		$c_page('home', 'event_updates', 'get_unread_messages', null,
+			function(r,rt) {
+				if(!r.exc) {
+					// This function is defined in toolbar.js
+					page_body.wntoolbar.set_new_comments(r.message);
+					var circle = $('#msg_count')
+					if(circle) {
+						if(r.message.length) {
+							circle.find('span:first').text(r.message.length);
+							circle.toggle(true);
+						} else {
+							circle.toggle(false);
+						}
 					}
+				} else {
+					clearInterval(wn.updates.id);
 				}
-			} else {
-				clearInterval(wn.updates.id);
 			}
-		}
-	);
+		);
+	} else {
+		page_body.wntoolbar.set_new_comments(0);
+		$('#msg_count').toggle(false);
+	}
 }
 
 erpnext.startup.set_periodic_updates = function() {
diff --git a/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
index 73dfd4b..c7e1557 100644
--- a/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
+++ b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-08-08 17:09:35',
+		'creation': '2010-09-20 12:33:34',
 		'docstatus': 0,
-		'modified': '2012-02-29 17:55:13',
+		'modified': '2012-03-01 14:01:03',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
diff --git a/erpnext/utilities/page/messages/messages.js b/erpnext/utilities/page/messages/messages.js
index f33c47b..6937796 100644
--- a/erpnext/utilities/page/messages/messages.js
+++ b/erpnext/utilities/page/messages/messages.js
@@ -19,6 +19,7 @@
 wn.pages.messages.onload = function(wrapper) {
 	erpnext.messages.show_active_users();
 	erpnext.messages.make_list();
+	update_messages('reset'); //Resets notification icons
 	
 	// post message
 	$('#message-post').click(function() {
