diff --git a/cryptography/hazmat/backends/__init__.py b/cryptography/hazmat/backends/__init__.py
index ffb0339..ae78822 100644
--- a/cryptography/hazmat/backends/__init__.py
+++ b/cryptography/hazmat/backends/__init__.py
@@ -22,24 +22,24 @@
 )
 
 
-_available_backends = None
+_available_backends_list = None
 
 
-def available_backends():
-    global _available_backends
+def _available_backends():
+    global _available_backends_list
 
-    if _available_backends is None:
-        _available_backends = []
+    if _available_backends_list is None:
+        _available_backends_list = []
 
         if CommonCryptoBinding.is_available():
             from cryptography.hazmat.backends import commoncrypto
-            _available_backends.append(commoncrypto.backend)
+            _available_backends_list.append(commoncrypto.backend)
 
         if OpenSSLBinding.is_available():
             from cryptography.hazmat.backends import openssl
-            _available_backends.append(openssl.backend)
+            _available_backends_list.append(openssl.backend)
 
-    return _available_backends
+    return _available_backends_list
 
 
 _default_backend = None
@@ -49,6 +49,6 @@
     global _default_backend
 
     if _default_backend is None:
-        _default_backend = MultiBackend(available_backends())
+        _default_backend = MultiBackend(_available_backends())
 
     return _default_backend
diff --git a/tests/conftest.py b/tests/conftest.py
index c597820..36183f4 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -15,7 +15,7 @@
 
 import pytest
 
-from cryptography.hazmat.backends import available_backends
+from cryptography.hazmat.backends import _available_backends
 from cryptography.hazmat.backends.interfaces import (
     HMACBackend, CipherBackend, HashBackend, PBKDF2HMACBackend, RSABackend
 )
@@ -25,7 +25,7 @@
 
 def pytest_generate_tests(metafunc):
     names = metafunc.config.getoption("--backend")
-    selected_backends = select_backends(names, available_backends())
+    selected_backends = select_backends(names, _available_backends())
 
     if "backend" in metafunc.fixturenames:
         metafunc.parametrize("backend", selected_backends)
