diff --git a/erpnext/hr/search_criteria/salary_register/salary_register.py b/erpnext/hr/search_criteria/salary_register/salary_register.py
index 9b9d5d4..875c7db 100644
--- a/erpnext/hr/search_criteria/salary_register/salary_register.py
+++ b/erpnext/hr/search_criteria/salary_register/salary_register.py
@@ -19,13 +19,14 @@
   if not sal_slips_ids == '': sal_slips_ids +=","
   sal_slips_ids+="'%s'"%r[col_idx['ID']]
 
-earn_heads =[i[0] for i in sql("select distinct e_type from `tabSalary Slip Earning` where parent in (%s)"%sal_slips_ids)]
-ded_heads =[i[0] for i in sql("select distinct d_type from `tabSalary Slip Deduction` where parent in (%s)"%sal_slips_ids)]
+earn_heads, ded_heads = [], []
+if res:
+  earn_heads =[i[0] for i in sql("select distinct e_type from `tabSalary Slip Earning` where parent in (%s)"%sal_slips_ids)]
+  ded_heads =[i[0] for i in sql("select distinct d_type from `tabSalary Slip Deduction` where parent in (%s)"%sal_slips_ids)]
 
 col=[]
-
 for e in earn_heads:
-  l = (len(e)*9) 
+  l = (len(cstr(e))*9) 
   if l < 150 :
     col_width = '150px'
   else:
@@ -35,9 +36,8 @@
 col.append(['Arrear Amount','Currency','150px',''])
 col.append(['Encashment Amount','Currency','170px',''])
 col.append(['Gross Pay','Currency','150px',''])
-
 for d in ded_heads:
-  l = (len(d)*9) 
+  l = (len(cstr(d))*9) 
   if l < 150 : col_width = '150px'
   else:  col_width = '%spx'%(l)
   col.append([d,'Currency',col_width,''])
@@ -54,7 +54,6 @@
 
 grand_tot = 0
 for r in res:
-
   for i in range(6,len(colnames)):
     if colnames[i] not in ('Arrear Amount','Encashment Amount','Net Pay','Gross Pay','Total Deduction'):
       amt = sql("select e_modified_amount from `tabSalary Slip Earning` where e_type = '%s' and parent = '%s'"%(colnames[i],r[0]))
@@ -65,7 +64,6 @@
       
     else:
       fld_nm = cstr(colnames[i]).lower().replace(' ','_')
-      errprint(fld_nm)
       tot = sql("select %s from `tabSalary Slip` where name ='%s'"%(fld_nm,r[0]))
       tot = tot and flt(tot[0][0]) or 0
       if colnames[i] == 'Net Pay':
@@ -75,4 +73,4 @@
 gt_row = ['' for i in range(len(colnames))]
 gt_row[col_idx['Employee Name']] = '<b>Grand Totals</b>'
 gt_row[col_idx['Net Pay']-1] = fmt_money(grand_tot)
-res.append(gt_row)
+res.append(gt_row)
\ No newline at end of file
diff --git a/erpnext/patches/may_2012/reload_so_pending_items.py b/erpnext/patches/may_2012/reload_so_pending_items.py
new file mode 100644
index 0000000..8c9aee7
--- /dev/null
+++ b/erpnext/patches/may_2012/reload_so_pending_items.py
@@ -0,0 +1,8 @@
+def execute():
+	import webnotes
+	from webnotes.model import delete_doc
+	delete_doc("Search Criteria", "sales_order_pending_items1")
+	
+	webnotes.conn.sql("update `tabSearch Criteria` set module = 'Selling' where module = 'CRM'")
+	from webnotes.modules import reload_doc
+	reload_doc('selling', 'search_criteria', 'sales_order_pending_items')
\ No newline at end of file
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index e3eca5a..b2983b5 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -357,5 +357,10 @@
 		'patch_file': 'std_pf_readonly',
 		'description': 'Make standard print formats readonly for system manager'
 	},
+	{
+		'patch_module': 'patches.may_2012',
+		'patch_file': 'reload_so_pending_items',
+		'description': 'reload so pending items'
+	},
 
-]
+]
\ No newline at end of file
diff --git a/erpnext/selling/search_criteria/sales_order_pending_items/sales_order_pending_items.txt b/erpnext/selling/search_criteria/sales_order_pending_items/sales_order_pending_items.txt
index 036d689..fc9f7bb 100644
--- a/erpnext/selling/search_criteria/sales_order_pending_items/sales_order_pending_items.txt
+++ b/erpnext/selling/search_criteria/sales_order_pending_items/sales_order_pending_items.txt
@@ -1,37 +1,37 @@
+# Search Criteria, sales_order_pending_items
 [
+
+	# These values are common in all dictionaries
 	{
-		'add_col': '(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0)) AS "Qty To Deliver"\n(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.billed_qty, 0)) AS "Qty To Bill"\n(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0))*`tabSales Order Item`.basic_rate AS "Amount To Deliver"\n(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.billed_qty, 0))*`tabSales Order Item`.basic_rate AS "Amount To Bill"',
-		'add_cond': '(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0) > 0 or `tabSales Order Item`.qty - ifnull(`tabSales Order Item`.billed_qty, 0) > 0)\n`tabSales Order`.status != "Stopped"',
-		'add_tab': None,
-		'columns': 'Sales Order\x01ID,Sales Order\x01Sales Order Date,Sales Order\x01Customer,Sales Order\x01Customer Name,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order Item\x01Description,Sales Order Item\x01Quantity,Sales Order Item\x01Delivered Qty,Sales Order Item\x01Billed Qty',
-		'creation': '2011-05-09 11:04:19',
-		'criteria_name': 'Sales Order Pending Items',
-		'custom_query': '',
-		'description': 'Sales Order Pending Items',
-		'dis_filters': None,
-		'disabled': None,
-		'doc_type': 'Sales Order Item',
+		'creation': '2012-05-14 14:54:44',
 		'docstatus': 0,
+		'modified': '2012-05-18 11:15:00',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Search Criteria
+	{
+		'add_col': u'(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0)) AS "Qty To Deliver"\n(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0))*`tabSales Order Item`.basic_rate AS "Amount To Deliver"\n(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.billed_qty, 0))*`tabSales Order Item`.basic_rate AS "Amount To Bill"',
+		'add_cond': u'(`tabSales Order Item`.qty - ifnull(`tabSales Order Item`.delivered_qty, 0) > 0 or `tabSales Order Item`.qty - ifnull(`tabSales Order Item`.billed_qty, 0) > 0)\n`tabSales Order`.status != "Stopped"',
+		'columns': u'Sales Order\x01ID,Sales Order\x01Sales Order Date,Sales Order\x01Customer,Sales Order Item\x01Item Code,Sales Order Item\x01Item Name,Sales Order Item\x01Description,Sales Order Item\x01Quantity,Sales Order Item\x01Delivered Qty',
+		'criteria_name': u'Sales Order Pending Items',
+		'description': u'Sales Order Pending Items',
+		'doc_type': u'Sales Order Item',
 		'doctype': 'Search Criteria',
-		'filters': "{'Sales Order\x01Submitted':1,'Sales Order\x01Status':'','Sales Order\x01Fiscal Year':''}",
-		'graph_series': None,
-		'graph_values': None,
-		'group_by': None,
-		'idx': None,
-		'modified': '2011-05-09 11:08:05',
-		'modified_by': 'Administrator',
-		'module': 'CRM',
-		'name': 'sales_order_pending_items',
-		'owner': 'Administrator',
+		'filters': u'{"Sales Order\\u0001Submitted":1,"Sales Order\\u0001Fiscal Year":[],"Sales Order\\u0001Status":[]}',
+		'module': u'Selling',
+		'name': '__common__',
 		'page_len': 50,
-		'parent': None,
-		'parent_doc_type': 'Sales Order',
-		'parentfield': None,
-		'parenttype': None,
-		'report_script': None,
-		'server_script': None,
-		'sort_by': '`tabSales Order`.`name`',
-		'sort_order': 'DESC',
-		'standard': 'Yes'
+		'parent_doc_type': u'Sales Order',
+		'sort_by': u'`tabSales Order`.`name`',
+		'sort_order': u'DESC',
+		'standard': u'Yes'
+	},
+
+	# Search Criteria, sales_order_pending_items
+	{
+		'doctype': 'Search Criteria',
+		'name': u'sales_order_pending_items'
 	}
-]
+]
\ No newline at end of file
