diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 565ef93..e7da07a 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -317,7 +317,9 @@ python do_package_ipk () {
 		controldir = os.path.join(root, 'CONTROL')
 		bb.mkdirhier(controldir)
 		try:
+			mask = os.umask(022)
 			ctrlfile = file(os.path.join(controldir, 'control'), 'w')
+			os.umask(mask)
 		except OSError:
 			bb.utils.unlockfile(lf)
 			raise bb.build.FuncFailed("unable to open control file for writing.")
@@ -410,7 +412,9 @@ python do_package_ipk () {
 		conffiles_str = localdata.getVar("CONFFILES", True)
 		if conffiles_str:
 			try:
+				mask = os.umask(022)
 				conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
+				os.umask(mask)
 			except OSError:
 				bb.utils.unlockfile(lf)
 				raise bb.build.FuncFailed("unable to open conffiles for writing.")
