don't create a third queue
diff --git a/CHANGES.rst b/CHANGES.rst
index 6a35fd8..f64047b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -55,8 +55,8 @@
 -   :class:`~nativetypes.NativeTemplate` correctly handles quotes
     between expressions. ``"'{{ a }}', '{{ b }}'"`` renders as the tuple
     ``('1', '2')`` rather than the string ``'1, 2'``. :issue:`1020`
--   ``LRUCache.copy()`` correctly re-initializes the queue methods
-    after copying. :issue:`843`
+-   After calling ``LRUCache.copy()``, the copy's queue methods point to
+    the correct queue. :issue:`843`
 
 
 Version 2.10.3
diff --git a/jinja2/utils.py b/jinja2/utils.py
index 220edcf..d2759e2 100644
--- a/jinja2/utils.py
+++ b/jinja2/utils.py
@@ -340,8 +340,7 @@
         """Return a shallow copy of the instance."""
         rv = self.__class__(self.capacity)
         rv._mapping.update(self._mapping)
-        rv._queue = deque(self._queue)
-        rv._postinit()
+        rv._queue.extend(self._queue)
         return rv
 
     def get(self, key, default=None):
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 56ca5dc..7ff39f0 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -17,10 +17,11 @@
 import pytest
 
 from jinja2._compat import string_types, range_type
-from jinja2.utils import LRUCache, escape, object_type_repr, urlize, \
+from jinja2.utils import LRUCache, object_type_repr, urlize, \
      select_autoescape, generate_lorem_ipsum, missing, consume
 from markupsafe import Markup
 
+
 @pytest.mark.utils
 @pytest.mark.lrucache
 class TestLRUCache(object):