diff --git a/common/djangoapps/track/middleware.py b/common/djangoapps/track/middleware.py
index 0ff46a15b8c4279deacff4fc5b21ea97c3e42eec..77cfda2650a36fa106af81c5a670b2d1ccf43683 100644
--- a/common/djangoapps/track/middleware.py
+++ b/common/djangoapps/track/middleware.py
@@ -36,28 +36,6 @@ META_KEY_TO_CONTEXT_KEY = {
 }
 
 
-class ResponseLoggingMiddleware(object):
-    """
-    A debugging middleware for the purpose of understanding what the current state of the response
-    is at this point in the stack.
-    """
-
-    def process_response(self, _request, response):
-        """
-        Logs the response at the current point in the middleware stack for debugging purposes.
-        """
-        try:
-            log.info('Logging response for debugging purposes: %r', response)
-            log.info('Response container data: %r', response._container)  # pylint: disable=protected-access
-            log.info('Container types: %r', [type(el) for el in response._container])  # pylint: disable=protected-access
-
-        except:  # pylint: disable=bare-except
-            # If this causes an error, we don't want it to bubble up since this is just for logging.
-            log.exception('Error logging response object')
-
-        return response
-
-
 class TrackMiddleware(object):
     """
     Tracks all requests made, as well as setting up context for other server
diff --git a/common/djangoapps/util/cache.py b/common/djangoapps/util/cache.py
index 5987d704e4a584ac144d9b40ad269fc744b7cac0..bc9503aaffe6e3ddd2655633e0bcf471bae6debe 100644
--- a/common/djangoapps/util/cache.py
+++ b/common/djangoapps/util/cache.py
@@ -76,6 +76,13 @@ def cache_if_anonymous(*get_parameters):
                         })
 
                 response = cache.get(cache_key)  # pylint: disable=maybe-no-member
+
+                # A hack to ensure that the response data is a valid text type for both Python 2 and 3.
+                response_content = response._container.copy()  # pylint: disable=protected-member
+                response.content = b''
+                for item in response_content:
+                    response.write(item)
+
                 if not response:
                     response = view_func(request, *args, **kwargs)
                     cache.set(cache_key, response, 60 * 3)  # pylint: disable=maybe-no-member
diff --git a/lms/envs/common.py b/lms/envs/common.py
index d515d698f620e4b780bd4b23e452f68e56075924..bf5aa8a7d4655362dded35fd47017d5a101fc216 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -1444,9 +1444,6 @@ MIDDLEWARE_CLASSES = [
     'lms.djangoapps.discussion.django_comment_client.middleware.AjaxExceptionMiddleware',
     'django.middleware.common.CommonMiddleware',
 
-    # Debugging Middleware. Remove once Python 3 has been deployed.
-    'track.middleware.ResponseLoggingMiddleware',
-
     'django.contrib.sites.middleware.CurrentSiteMiddleware',
     'edx_rest_framework_extensions.auth.jwt.middleware.JwtAuthCookieMiddleware',