Get the C implementation out of the way
diff --git a/OpenSSL/ssl/ssl.c b/OpenSSL/ssl/ssl.c
index 5725d5d..91d283e 100644
--- a/OpenSSL/ssl/ssl.c
+++ b/OpenSSL/ssl/ssl.c
@@ -80,7 +80,7 @@
 #ifdef PY3
 static struct PyModuleDef sslmodule = {
     PyModuleDef_HEAD_INIT,
-    "SSL",
+    "xSSL",
     ssl_doc,
     -1,
     ssl_methods
@@ -93,7 +93,7 @@
  * Arguments: None
  * Returns:   None
  */
-PyOpenSSL_MODINIT(SSL) {
+PyOpenSSL_MODINIT(xSSL) {
     PyObject *module;
 #ifndef PY3
     static void *ssl_API[ssl_API_pointers];
@@ -128,7 +128,7 @@
 #ifdef PY3
     module = PyModule_Create(&sslmodule);
 #else
-    module = Py_InitModule3("SSL", ssl_methods, ssl_doc);
+    module = Py_InitModule3("xSSL", ssl_methods, ssl_doc);
 #endif
     if (module == NULL) {
         PyOpenSSL_MODRETURN(NULL);
diff --git a/setup.py b/setup.py
index 6366b48..35ec8f1 100755
--- a/setup.py
+++ b/setup.py
@@ -31,9 +31,9 @@
               'OpenSSL/crypto/pkcs12.h', 'OpenSSL/crypto/netscape_spki.h',
               'OpenSSL/crypto/revoked.h', 'OpenSSL/crypto/crl.h',
               'OpenSSL/util.h']
-ssl_src = ['OpenSSL/ssl/connection.c', 'OpenSSL/ssl/context.c', 'OpenSSL/ssl/ssl.c',
+xssl_src = ['OpenSSL/ssl/connection.c', 'OpenSSL/ssl/context.c', 'OpenSSL/ssl/ssl.c',
            'OpenSSL/ssl/session.c', 'OpenSSL/util.c']
-ssl_dep = ['OpenSSL/ssl/connection.h', 'OpenSSL/ssl/context.h', 'OpenSSL/ssl/ssl.h',
+xssl_dep = ['OpenSSL/ssl/connection.h', 'OpenSSL/ssl/context.h', 'OpenSSL/ssl/ssl.h',
            'OpenSSL/ssl/session.h', 'OpenSSL/util.h']
 
 IncludeDirs = None
@@ -193,7 +193,7 @@
 setup(name='pyOpenSSL', version=__version__,
       packages = ['OpenSSL'],
       package_dir = {'OpenSSL': 'OpenSSL'},
-      ext_modules = [mkExtension('xcrypto'), mkExtension('SSL')],
+      ext_modules = [mkExtension('xcrypto'), mkExtension('xSSL')],
       py_modules  = ['OpenSSL.__init__', 'OpenSSL.tsafe',
                      'OpenSSL.rand',
                      'OpenSSL.version', 'OpenSSL.test.__init__',