diff --git a/patches/april_2013/p05_update_file_data.py b/patches/april_2013/p05_update_file_data.py
index 986e5b9..1ff48fa 100644
--- a/patches/april_2013/p05_update_file_data.py
+++ b/patches/april_2013/p05_update_file_data.py
@@ -5,28 +5,36 @@
 	webnotes.reload_doc("core", "doctype", "file_data")
 	webnotes.reset_perms("File Data")
 	
-	singles = webnotes.conn.sql_list("""select name from tabDocType
-		where ifnull(issingle,0)=1""")
+	singles = get_single_doctypes()
+	
 	for doctype in webnotes.conn.sql_list("""select parent from tabDocField where 
 		fieldname='file_list' and fieldtype='Text'"""):
-		if doctype in singles:
-			doc = webnotes.doc(doctype, doctype)
-			if doc.file_list:
-				update_for_doc(doctype, doc)
-				webnotes.conn.set_value(doctype, None, "file_list", None)
-		else:
-			try:
-				for doc in webnotes.conn.sql("""select name, file_list from `tab%s` where 
-					ifnull(file_list, '')!=''""" % doctype, as_dict=True):
-					update_for_doc(doctype, doc)
-				webnotes.conn.commit()
-				webnotes.conn.sql("""alter table `tab%s` drop column file_list""" % doctype)
-			except Exception, e:
-				if e.args[0]!=1054: raise e
+		update_file_list(doctype, singles)
 		
 		webnotes.conn.sql("""delete from tabDocField where fieldname='file_list'
 				and parent=%s""", doctype)
+		
 		# export_to_files([["DocType", doctype]])
+		
+def get_single_doctypes():
+	return webnotes.conn.sql_list("""select name from tabDocType
+			where ifnull(issingle,0)=1""")
+		
+def update_file_list(doctype, singles):
+	if doctype in singles:
+		doc = webnotes.doc(doctype, doctype)
+		if doc.file_list:
+			update_for_doc(doctype, doc)
+			webnotes.conn.set_value(doctype, None, "file_list", None)
+	else:
+		try:
+			for doc in webnotes.conn.sql("""select name, file_list from `tab%s` where 
+				ifnull(file_list, '')!=''""" % doctype, as_dict=True):
+				update_for_doc(doctype, doc)
+			webnotes.conn.commit()
+			webnotes.conn.sql("""alter table `tab%s` drop column file_list""" % doctype)
+		except Exception, e:
+			if e.args[0]!=1054: raise e
 
 def update_for_doc(doctype, doc):
 	for filedata in doc.file_list.split("\n"):
diff --git a/patches/patch_list.py b/patches/patch_list.py
index a6dd0a2..096fec80 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -247,4 +247,5 @@
     "execute:webnotes.reload_doc('Stock', 'DocType', 'Delivery Note Item')",
 	"patches.april_2013.p06_default_cost_center",
 	"execute:webnotes.reset_perms('File Data')",
+	"patches.april_2013.p07_update_file_data_custom_field",
 ]
\ No newline at end of file
