diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index 4eef2fd..75f2922 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -60,7 +60,7 @@
 	// setup
 	for(var i in wn.boot.modules_list) {
 		var m = wn.boot.modules_list[i];
-		if(!in_list(['Setup'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
+		if(!in_list(['Setup', 'Core'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
 			add_icon(m);
 	}
 
diff --git a/hr/doctype/appraisal/appraisal.js b/hr/doctype/appraisal/appraisal.js
index 1243dc4..4c7c5e5 100644
--- a/hr/doctype/appraisal/appraisal.js
+++ b/hr/doctype/appraisal/appraisal.js
@@ -71,15 +71,6 @@
 	refresh_field('total_score')
 }
 
-/*cur_frm.cscript.declare_completed = function(doc,cdt,cdn){
-	$c_obj(make_doclist(doc.doctype, doc.name),'declare_completed','', function(r,rt){
-		if(r.message){
-			refresh_field('Status');
-			cur_frm.cscript.refresh(doc,cdt,cdn);
-		}
-	});
-}*/
-
 cur_frm.cscript.declare_completed = function(doc,cdt,cdn){
 	var declare_completed_dialog;
 	
diff --git a/hr/doctype/appraisal/appraisal.py b/hr/doctype/appraisal/appraisal.py
index 2b20641..39bc3ff 100644
--- a/hr/doctype/appraisal/appraisal.py
+++ b/hr/doctype/appraisal/appraisal.py
@@ -18,20 +18,13 @@
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, getchildren, make_autoname
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, msgprint, errprint
+from webnotes.utils import add_days, cstr, flt, getdate, now, nowdate
+from webnotes.model.doclist import getlist
+from webnotes.model.code import get_obj
+from webnotes import msgprint
 
 set = webnotes.conn.set
 sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-	
-# -----------------------------------------------------------------------------------------
 
 
 class DocType:
diff --git a/patches/august_2012/task_allocated_to_assigned.py b/patches/august_2012/task_allocated_to_assigned.py
index 1bbc447..8485939 100644
--- a/patches/august_2012/task_allocated_to_assigned.py
+++ b/patches/august_2012/task_allocated_to_assigned.py
@@ -11,5 +11,6 @@
 			'assign_to': t['allocated_to'],
 			'assigned_by': t['owner'],
 			'description': t['subject'],
-			'date': t['creation']
+			'date': t['creation'],
+			"no_notification": True
 		})
\ No newline at end of file
diff --git a/patches/november_2012/customer_issue_allocated_to_assigned.py b/patches/november_2012/customer_issue_allocated_to_assigned.py
index 2263401..fa87262 100644
--- a/patches/november_2012/customer_issue_allocated_to_assigned.py
+++ b/patches/november_2012/customer_issue_allocated_to_assigned.py
@@ -3,13 +3,17 @@
 
 def execute():
 	from webnotes.widgets.form.assign_to import add
+	# clear old customer issue todos
+	webnotes.conn.sql("""delete from tabToDo where reference_type='Customer Issue'""")
+	webnotes.conn.sql("""delete from tabComment where comment like '%Form/Customer Issue%'""")
 	for t in webnotes.conn.sql("""select * from `tabCustomer Issue` 
-		where ifnull(allocated_to, '')!=''""", as_dict=1):
+		where ifnull(allocated_to, '')!='' and ifnull(status, "")="Open" """, as_dict=1):
 		add({
 			'doctype': "Customer Issue",
 			'name': t['name'],
 			'assign_to': t['allocated_to'],
 			'assigned_by': t['owner'],
 			'description': t['complaint'],
-			'date': t['creation']
+			'date': t['creation'],
+			'no_notification': True
 		})
\ No newline at end of file
