diff --git a/docs/x509.rst b/docs/x509.rst
index c4c441e..79f4829 100644
--- a/docs/x509.rst
+++ b/docs/x509.rst
@@ -515,7 +515,7 @@
         :returns: A new
             :class:`~cryptography.x509.CertificateSigningRequestBuilder`.
 
-    .. method:: sign(backend, private_key, algorithm)
+    .. method:: sign(private_key, algorithm, backend)
 
         :param backend: Backend that will be used to sign the request.
             Must support the
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index 21e18dd..51e25f7 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -1478,7 +1478,7 @@
             self._subject_name, self._extensions + [extension]
         )
 
-    def sign(self, backend, private_key, algorithm):
+    def sign(self, private_key, algorithm, backend):
         """
         Signs the request using the requestor's private key.
         """
diff --git a/tests/test_x509.py b/tests/test_x509.py
index ee83ed2..971f149 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -689,7 +689,7 @@
 
         builder = x509.CertificateSigningRequestBuilder()
         with pytest.raises(TypeError):
-            builder.sign(backend, private_key, 'NotAHash')
+            builder.sign(private_key, 'NotAHash', backend)
 
     @pytest.mark.requires_backend_interface(interface=RSABackend)
     def test_build_ca_request_with_rsa(self, backend):
@@ -701,9 +701,7 @@
             ])
         ).add_extension(
             x509.BasicConstraints(ca=True, path_length=2), critical=True
-        ).sign(
-            backend, private_key, hashes.SHA1()
-        )
+        ).sign(private_key, hashes.SHA1(), backend)
 
         assert isinstance(request.signature_hash_algorithm, hashes.SHA1)
         public_key = request.public_key()
@@ -730,9 +728,7 @@
             ])
         ).add_extension(
             x509.BasicConstraints(ca=True, path_length=2), critical=True
-        ).sign(
-            backend, private_key, hashes.SHA1()
-        )
+        ).sign(private_key, hashes.SHA1(), backend)
 
         loaded_request = x509.load_pem_x509_csr(
             request.public_bytes(encoding=serialization.Encoding.PEM), backend
@@ -753,9 +749,7 @@
             ])
         ).add_extension(
             x509.BasicConstraints(ca=False, path_length=None), critical=True,
-        ).sign(
-            backend, private_key, hashes.SHA1()
-        )
+        ).sign(private_key, hashes.SHA1(), backend)
 
         assert isinstance(request.signature_hash_algorithm, hashes.SHA1)
         public_key = request.public_key()
@@ -785,9 +779,7 @@
             ])
         ).add_extension(
             x509.BasicConstraints(ca=True, path_length=2), critical=True
-        ).sign(
-            backend, private_key, hashes.SHA1()
-        )
+        ).sign(private_key, hashes.SHA1(), backend)
 
         assert isinstance(request.signature_hash_algorithm, hashes.SHA1)
         public_key = request.public_key()
@@ -816,9 +808,7 @@
             ])
         ).add_extension(
             x509.BasicConstraints(ca=True, path_length=2), critical=True
-        ).sign(
-            backend, private_key, hashes.SHA1()
-        )
+        ).sign(private_key, hashes.SHA1(), backend)
 
         assert isinstance(request.signature_hash_algorithm, hashes.SHA1)
         public_key = request.public_key()
