diff --git a/src/infi/gevent_utils/json_utils.py b/src/infi/gevent_utils/json_utils.py
index <HASH>..<HASH> 100644
--- a/src/infi/gevent_utils/json_utils.py
+++ b/src/infi/gevent_utils/json_utils.py
@@ -3,7 +3,7 @@ from infi.pyutils.lazy import cached_function
 import json
 import time
 import gevent
-from io import StringIO
+from six import StringIO
 
 import logbook
 logger = logbook.Logger(__name__, level=logbook.CRITICAL)  # by default don't log errors
@@ -24,10 +24,7 @@ class GreenletFriendlyStringIO(StringIO):
         self.last_sleep = 0
 
     def write(self, s):
-        if _need_to_decode_string():
-            StringIO.write(self, s.decode('utf-8'))
-        else:
-            StringIO.write(self, s)
+        StringIO.write(self, s)
         t = time.time()
         if t - self.last_sleep > 0.01:
             gevent.sleep(0)
@@ -35,13 +32,6 @@ class GreenletFriendlyStringIO(StringIO):
 
 
 @cached_function
-def _need_to_decode_string():
-    from platform import python_version
-    from pkg_resources import parse_version
-    return parse_version(python_version()) < parse_version("3")
-
-
-@cached_function
 def can_dumps_sort_keys():
     from platform import python_version
     from pkg_resources import parse_version
HOSTDEV-<I> use StringIO from six instead of checking for python version