diff --git a/Lib/fileinput.py b/Lib/fileinput.py
index 4a71cc5..0764aa5 100644
--- a/Lib/fileinput.py
+++ b/Lib/fileinput.py
@@ -222,6 +222,7 @@
             warnings.warn("'U' mode is deprecated",
                           DeprecationWarning, 2)
         self._mode = mode
+        self._write_mode = mode.replace('r', 'w') if 'U' not in mode else 'w'
         if openhook:
             if inplace:
                 raise ValueError("FileInput cannot use an opening hook in inplace mode")
@@ -348,14 +349,14 @@
                 try:
                     perm = os.fstat(self._file.fileno()).st_mode
                 except OSError:
-                    self._output = open(self._filename, "w")
+                    self._output = open(self._filename, self._write_mode)
                 else:
                     mode = os.O_CREAT | os.O_WRONLY | os.O_TRUNC
                     if hasattr(os, 'O_BINARY'):
                         mode |= os.O_BINARY
 
                     fd = os.open(self._filename, mode, perm)
-                    self._output = os.fdopen(fd, "w")
+                    self._output = os.fdopen(fd, self._write_mode)
                     try:
                         os.chmod(self._filename, perm)
                     except OSError:
diff --git a/Lib/test/test_fileinput.py b/Lib/test/test_fileinput.py
index 3857401..8b7577b 100644
--- a/Lib/test/test_fileinput.py
+++ b/Lib/test/test_fileinput.py
@@ -329,6 +329,16 @@
             self.assertEqual(fi.readline(), b'')
             self.assertEqual(fi.readline(), b'')
 
+    def test_inplace_binary_write_mode(self):
+        temp_file = self.writeTmp(b'Initial text.', mode='wb')
+        with FileInput(temp_file, mode='rb', inplace=True) as fobj:
+            line = fobj.readline()
+            self.assertEqual(line, b'Initial text.')
+            # print() cannot be used with files opened in binary mode.
+            sys.stdout.write(b'New line.')
+        with open(temp_file, 'rb') as f:
+            self.assertEqual(f.read(), b'New line.')
+
     def test_context_manager(self):
         t1 = self.writeTmp("A\nB\nC")
         t2 = self.writeTmp("D\nE\nF")
