diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py
index 1147205..c9f05e5 100644
--- a/Lib/test/test_uu.py
+++ b/Lib/test/test_uu.py
@@ -6,6 +6,8 @@
 import unittest
 from test import support
 
+import os
+import stat
 import sys
 import uu
 import io
@@ -218,6 +220,23 @@
         with open(self.tmpin, 'rb') as f:
             self.assertRaises(uu.Error, uu.decode, f)
 
+    def test_decode_mode(self):
+        # Verify that decode() will set the given mode for the out_file
+        expected_mode = 0o444
+        with open(self.tmpin, 'wb') as f:
+            f.write(encodedtextwrapped(expected_mode, self.tmpout))
+
+        # make file writable again, so it can be removed (Windows only)
+        self.addCleanup(os.chmod, self.tmpout, expected_mode | stat.S_IWRITE)
+
+        with open(self.tmpin, 'rb') as f:
+            uu.decode(f)
+
+        self.assertEqual(
+            stat.S_IMODE(os.stat(self.tmpout).st_mode),
+            expected_mode
+        )
+
 
 if __name__=="__main__":
     unittest.main()
diff --git a/Lib/uu.py b/Lib/uu.py
index 8333e86..9b1e5e6 100755
--- a/Lib/uu.py
+++ b/Lib/uu.py
@@ -133,10 +133,7 @@
             out_file = sys.stdout.buffer
         elif isinstance(out_file, str):
             fp = open(out_file, 'wb')
-            try:
-                os.path.chmod(out_file, mode)
-            except AttributeError:
-                pass
+            os.chmod(out_file, mode)
             out_file = fp
             opened_files.append(out_file)
         #
