diff --git a/rbtools/commands/__init__.py b/rbtools/commands/__init__.py
index b756c55d547e9d8f9745713dcd5e11bbc503cff6..38eaeca397b5985116491b516d0436fd6b2de013 100644
--- a/rbtools/commands/__init__.py
+++ b/rbtools/commands/__init__.py
@@ -653,7 +653,7 @@ class Command(object):
 
         print()
 
-        return getpass.getpass('Token: ')
+        return getpass.getpass(b'Token: ')
 
     def _make_api_client(self, server_url):
         """Return an RBClient object for the server.
diff --git a/rbtools/utils/process.py b/rbtools/utils/process.py
index fc622d86e7eaf5ced201988c95a76dd99e218da2..c6c79a0221dc05ec1b8a3a235196d9f69d6333b7 100644
--- a/rbtools/utils/process.py
+++ b/rbtools/utils/process.py
@@ -47,8 +47,8 @@ def execute(command,
     # TODO: This can break on systems that don't have the en_US locale
     # installed (which isn't very many). Ideally in this case, we could
     # put something in the config file, but that's not plumbed through to here.
-    env[b'LC_ALL'] = b'en_US.UTF-8'
-    env[b'LANGUAGE'] = b'en_US.UTF-8'
+    env['LC_ALL'] = 'en_US.UTF-8'
+    env['LANGUAGE'] = 'en_US.UTF-8'
 
     if with_errors:
         errors_output = subprocess.STDOUT
@@ -56,6 +56,13 @@ def execute(command,
         errors_output = subprocess.PIPE
 
     if sys.platform.startswith('win'):
+        # Convert all environment variables to byte strings, so that subprocess
+        # doesn't blow up on Windows.
+        env = dict([
+            (bytes(key), bytes(value))
+            for key, value in six.iteritems(env)
+        ])
+
         p = subprocess.Popen(command,
                              stdin=subprocess.PIPE,
                              stdout=subprocess.PIPE,
diff --git a/rbtools/utils/users.py b/rbtools/utils/users.py
index 1ea79ee399442296507b358810832ef7d3f3a03c..8e86232ebdb490eb019cfb8a44adab088234e196 100644
--- a/rbtools/utils/users.py
+++ b/rbtools/utils/users.py
@@ -27,7 +27,7 @@ def get_authenticated_session(api_client, api_root, auth_required=False):
                         'server at %s, please login.' % api_client.url)
         sys.stderr.write('Username: ')
         username = input()
-        password = getpass.getpass('Password: ')
+        password = getpass.getpass(b'Password: ')
         api_client.login(username, password)
 
         try:
