diff --git a/launch.py b/launch.py
index 2024a95708844755708b26f204d6c9b2494b6beb..8489a2f1f6b74212d8d9dcf3639b8fa553b2b55e 100755
--- a/launch.py
+++ b/launch.py
@@ -349,8 +349,12 @@ class LaunchJob(ParametricJob):
         pin.write(('\tprint ("metafor dir %s not found!")\n'%mtfdir).encode('utf-8'))
         pin.write(b'\tsys.exit()\n\n')
         # __file__ has to be defined (with absPath) to execute .pythonc.py 
-        pin.write(('__file__ = r"%s"\n'%os.path.join(mtfdir,'.pythonrc.py')).encode('utf-8'))
-        pin.write(('exec(open(r"%s").read())\n'%os.path.join(mtfdir,'.pythonrc.py')).encode('utf-8'))
+        pin.write(('rcfile = r"%s"\n'%os.path.join(mtfdir,'.pythonrc.py')).encode('utf-8'))
+        pin.write(('script = open(rcfile, encoding="utf-8").read()\n').encode('utf-8'))
+        pin.write(('exec(compile(script, rcfile, "exec"),{"__file__":rcfile})\n').encode('utf-8'))
+        
+        #pin.write(('__file__ = r"%s"\n'%os.path.join(mtfdir,'.pythonrc.py')).encode('utf-8'))
+        #pin.write(('exec(open(r"%s").read())\n'%os.path.join(mtfdir,'.pythonrc.py')).encode('utf-8'))
         pin.write(b'import toolbox.battery as b\n')
         pin.write(b'battery = b.Battery() \n')
         pin.write(b'battery.keepFacs = True\n')