--- libcloud/compute/deployment.py
+++ libcloud/compute/deployment.py
@@ -22,7 +22,7 @@
 import os
 import binascii
 
-from libcloud.utils.py3 import basestring
+from libcloud.utils.py3 import basestring, PY3
 
 
 class Deployment(object):
@@ -187,6 +187,8 @@
         """
         with open(script_file, 'rb') as fp:
             content = fp.read()
+        if PY3:
+            content = content.decode("utf-8")
 
         super(ScriptFileDeployment, self).__init__(script=content,
                                                name=name,
--- libcloud/test/compute/test_deployment.py
+++ libcloud/test/compute/test_deployment.py
@@ -23,7 +23,7 @@
 
 from libcloud.utils.py3 import httplib
 from libcloud.utils.py3 import u
-from libcloud.utils.py3 import PY32
+from libcloud.utils.py3 import PY3
 
 from libcloud.compute.deployment import MultiStepDeployment, Deployment
 from libcloud.compute.deployment import SSHKeyDeployment, ScriptDeployment
@@ -115,13 +115,11 @@
                         client=MockClient(hostname='localhost')))
 
     def test_script_file_deployment(self):
-        # TODO: Fix 3.2 compatibility
-        if PY32:
-            return
-
         file_path = os.path.abspath(__file__)
         with open(file_path, 'rb') as fp:
             content = fp.read()
+        if PY3:
+            content = content.decode("utf-8")
 
         sfd1 = ScriptFileDeployment(script_file=file_path)
         self.assertEqual(sfd1.script, content)
