diff --git a/Lib/distutils/core.py b/Lib/distutils/core.py
index c40dd0a..640d6b5 100644
--- a/Lib/distutils/core.py
+++ b/Lib/distutils/core.py
@@ -210,8 +210,9 @@
     _setup_stop_after = stop_after
 
     save_argv = sys.argv
-    g = {}
+    g = {'__file__': script_name}
     l = {}
+    os.chdir(os.path.dirname(script_name) or os.curdir)
     try:
         try:
             sys.argv[0] = script_name
diff --git a/Lib/distutils/tests/test_core.py b/Lib/distutils/tests/test_core.py
new file mode 100644
index 0000000..6de58d9
--- /dev/null
+++ b/Lib/distutils/tests/test_core.py
@@ -0,0 +1,40 @@
+"""Tests for distutils.core."""
+
+import StringIO
+import distutils.core
+import os
+import test.test_support
+import unittest
+
+
+# setup script that uses __file__
+setup_using___file__ = """\
+
+__file__
+
+from distutils.core import setup
+setup()
+"""
+
+
+class CoreTestCase(unittest.TestCase):
+
+    def tearDown(self):
+        os.remove(test.test_support.TESTFN)
+
+    def write_setup(self, text):
+        return fn
+
+    def test_run_setup_provides_file(self):
+        # Make sure the script can use __file__; if that's missing, the test
+        # setup.py script will raise NameError.
+        fn = test.test_support.TESTFN
+        open(fn, "w").write(setup_using___file__)
+        distutils.core.run_setup(fn)
+
+
+def test_suite():
+    return unittest.makeSuite(CoreTestCase)
+
+if __name__ == "__main__":
+    unittest.main(defaultTest="test_suite")
diff --git a/Misc/NEWS b/Misc/NEWS
index 8742cb4..c07f546 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -18,6 +18,10 @@
 Library
 -------
 
+- Issue #2385: distutils.core.run_script() makes __file__ available, so the
+  controlled environment will more closely mirror the typical script
+  environment.  This supports setup.py scripts that refer to data files.
+
 Tests
 -----
 
