diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py
index ca07be6..ae5e40f 100644
--- a/Lib/lib2to3/refactor.py
+++ b/Lib/lib2to3/refactor.py
@@ -500,7 +500,7 @@
                         node = new
 
     def processed_file(self, new_text, filename, old_text=None, write=False,
-                       encoding=None, newlines=None):
+                       encoding=None):
         """
         Called when a file has been refactored, and there are changes.
         """
diff --git a/Lib/lib2to3/tests/test_refactor.py b/Lib/lib2to3/tests/test_refactor.py
index b6d5b57..73122d8 100644
--- a/Lib/lib2to3/tests/test_refactor.py
+++ b/Lib/lib2to3/tests/test_refactor.py
@@ -231,23 +231,6 @@
                 os.path.join("a_dir", "stuff.py")]
         check(tree, tree)
 
-    def test_preserve_file_newlines(self):
-        rt = self.rt(fixers=_2TO3_FIXERS)
-        for nl in ("\r\n", "\n"):
-            data = "print y%s%syes%sok%s" % ((nl,) * 4)
-            handle, tmp = tempfile.mkstemp()
-            os.close(handle)
-            try:
-                with open(tmp, "w") as fp:
-                    fp.write(data)
-                rt.refactor_file(tmp)
-                with open(tmp, "r") as fp:
-                    contents = fp.read()
-            finally:
-                os.unlink(tmp)
-            for line in contents.splitlines(True):
-                self.assertTrue(line.endswith(nl))
-
     def test_file_encoding(self):
         fn = os.path.join(TEST_DATA_DIR, "different_encoding.py")
         self.check_file_refactoring(fn)
