diff --git celery/backends/redis.py celery/backends/redis.py
index 012db0f36e..6c311d8273 100644
--- celery/backends/redis.py
+++ celery/backends/redis.py
@@ -19,7 +19,8 @@
 from celery.utils.log import get_logger
 from celery.utils.time import humanize_seconds
 
-from . import async, base
+from .asynchronous import AsyncBackendMixin, BaseResultConsumer
+from .base import BaseKeyValueStoreBackend
 
 try:
     from urllib.parse import unquote
@@ -74,7 +75,7 @@
 logger = get_logger(__name__)
 
 
-class ResultConsumer(async.BaseResultConsumer):
+class ResultConsumer(BaseResultConsumer):
     _pubsub = None
 
     def __init__(self, *args, **kwargs):
@@ -138,7 +139,7 @@ def cancel_for(self, task_id):
             self._pubsub.unsubscribe(key)
 
 
-class RedisBackend(base.BaseKeyValueStoreBackend, async.AsyncBackendMixin):
+class RedisBackend(BaseKeyValueStoreBackend, AsyncBackendMixin):
     """Redis task result store."""
 
     ResultConsumer = ResultConsumer
diff --git celery/backends/rpc.py celery/backends/rpc.py
index 6e31cef75e..5e6e407ce6 100644
--- celery/backends/rpc.py
+++ celery/backends/rpc.py
@@ -17,7 +17,7 @@
 from celery.five import items, range
 
 from . import base
-from .async import AsyncBackendMixin, BaseResultConsumer
+from .asynchronous import AsyncBackendMixin, BaseResultConsumer
 
 __all__ = ('BacklogLimitExceeded', 'RPCBackend')
 
diff --git docs/internals/reference/celery.backends.async.rst docs/internals/reference/celery.backends.asynchronous.rst
similarity index 52%
rename from docs/internals/reference/celery.backends.async.rst
rename to docs/internals/reference/celery.backends.asynchronous.rst
index 03d10feb33..fef524294e 100644
--- docs/internals/reference/celery.backends.async.rst
+++ docs/internals/reference/celery.backends.asynchronous.rst
@@ -1,12 +1,12 @@
 =====================================
- ``celery.backends.async``
+ ``celery.backends.asynchronous``
 =====================================
 
 .. contents::
     :local:
-.. currentmodule:: celery.backends.async
+.. currentmodule:: celery.backends.asynchronous
 
-.. automodule:: celery.backends.async
+.. automodule:: celery.backends.asynchronous
     :members:
     :undoc-members:
 
diff --git t/unit/backends/test_redis.py t/unit/backends/test_redis.py
index 166aa0dc34..6a7dbbd501 100644
--- t/unit/backends/test_redis.py
+++ t/unit/backends/test_redis.py
@@ -146,7 +146,7 @@ class _RedisBackend(RedisBackend):
     def get_consumer(self):
         return self.get_backend().result_consumer
 
-    @patch('celery.backends.async.BaseResultConsumer.on_after_fork')
+    @patch('celery.backends.asynchronous.BaseResultConsumer.on_after_fork')
     def test_on_after_fork(self, parent_method):
         consumer = self.get_consumer()
         consumer.start('none')
@@ -172,7 +172,7 @@ def test_on_after_fork(self, parent_method):
         parent_method.assert_called_once()
 
     @patch('celery.backends.redis.ResultConsumer.cancel_for')
-    @patch('celery.backends.async.BaseResultConsumer.on_state_change')
+    @patch('celery.backends.asynchronous.BaseResultConsumer.on_state_change')
     def test_on_state_change(self, parent_method, cancel_for):
         consumer = self.get_consumer()
         meta = {'task_id': 'testing', 'status': states.SUCCESS}