diff --git a/Modules/_sqlite/cache.c b/Modules/_sqlite/cache.c
index d36b52b..d102e97 100644
--- a/Modules/_sqlite/cache.c
+++ b/Modules/_sqlite/cache.c
@@ -262,7 +262,7 @@
 PyTypeObject NodeType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Node",                        /* tp_name */
+        MODULE_NAME "Node",                             /* tp_name */
         sizeof(Node),                                   /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)node_dealloc,                       /* tp_dealloc */
@@ -305,7 +305,7 @@
 PyTypeObject CacheType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Cache",                       /* tp_name */
+        MODULE_NAME ".Cache",                           /* tp_name */
         sizeof(Cache),                                  /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)cache_dealloc,                      /* tp_dealloc */
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index 3e97f6e..0f68160 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -1029,7 +1029,7 @@
 PyTypeObject ConnectionType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Connection",                  /* tp_name */
+        MODULE_NAME ".Connection",                      /* tp_name */
         sizeof(Connection),                             /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)connection_dealloc,                 /* tp_dealloc */
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index 7f378d6..d2b45a0 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -977,7 +977,7 @@
 PyTypeObject CursorType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Cursor",                      /* tp_name */
+        MODULE_NAME ".Cursor",                          /* tp_name */
         sizeof(Cursor),                                 /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)cursor_dealloc,                     /* tp_dealloc */
diff --git a/Modules/_sqlite/microprotocols.c b/Modules/_sqlite/microprotocols.c
index 5040acd..4956ac0 100644
--- a/Modules/_sqlite/microprotocols.c
+++ b/Modules/_sqlite/microprotocols.c
@@ -55,28 +55,19 @@
 microprotocols_add(PyTypeObject *type, PyObject *proto, PyObject *cast)
 {
     PyObject* key;
+    int rc;
 
     if (proto == NULL) proto = (PyObject*)&SQLitePrepareProtocolType;
 
-    /*
-    Dprintf("microprotocols_add: cast %p for (%s, ?)",
-            cast, type->tp_name);
-    */
-
-
     key = Py_BuildValue("(OO)", (PyObject*)type, proto);
     if (!key) {
         return -1;
     }
 
-    if (PyDict_SetItem(psyco_adapters, key, cast) != 0) {
-        Py_DECREF(key);
-        return -1;
-    }
-
+    rc = PyDict_SetItem(psyco_adapters, key, cast);
     Py_DECREF(key);
 
-    return 0;
+    return rc;
 }
 
 /* microprotocols_adapt - adapt an object to the built-in protocol */
diff --git a/Modules/_sqlite/module.c b/Modules/_sqlite/module.c
index 60d0d63..1537e79 100644
--- a/Modules/_sqlite/module.c
+++ b/Modules/_sqlite/module.c
@@ -214,56 +214,56 @@
 
     /*** Create DB-API Exception hierarchy */
 
-    if (!(Error = PyErr_NewException("sqlite3.Error", PyExc_StandardError, NULL))) {
+    if (!(Error = PyErr_NewException(MODULE_NAME ".Error", PyExc_StandardError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "Error", Error);
 
-    if (!(Warning = PyErr_NewException("sqlite3.Warning", PyExc_StandardError, NULL))) {
+    if (!(Warning = PyErr_NewException(MODULE_NAME ".Warning", PyExc_StandardError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "Warning", Warning);
 
     /* Error subclasses */
 
-    if (!(InterfaceError = PyErr_NewException("sqlite3.InterfaceError", Error, NULL))) {
+    if (!(InterfaceError = PyErr_NewException(MODULE_NAME ".InterfaceError", Error, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "InterfaceError", InterfaceError);
 
-    if (!(DatabaseError = PyErr_NewException("sqlite3.DatabaseError", Error, NULL))) {
+    if (!(DatabaseError = PyErr_NewException(MODULE_NAME ".DatabaseError", Error, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "DatabaseError", DatabaseError);
 
     /* DatabaseError subclasses */
 
-    if (!(InternalError = PyErr_NewException("sqlite3.InternalError", DatabaseError, NULL))) {
+    if (!(InternalError = PyErr_NewException(MODULE_NAME ".InternalError", DatabaseError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "InternalError", InternalError);
 
-    if (!(OperationalError = PyErr_NewException("sqlite3.OperationalError", DatabaseError, NULL))) {
+    if (!(OperationalError = PyErr_NewException(MODULE_NAME ".OperationalError", DatabaseError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "OperationalError", OperationalError);
 
-    if (!(ProgrammingError = PyErr_NewException("sqlite3.ProgrammingError", DatabaseError, NULL))) {
+    if (!(ProgrammingError = PyErr_NewException(MODULE_NAME ".ProgrammingError", DatabaseError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "ProgrammingError", ProgrammingError);
 
-    if (!(IntegrityError = PyErr_NewException("sqlite3.IntegrityError", DatabaseError,NULL))) {
+    if (!(IntegrityError = PyErr_NewException(MODULE_NAME ".IntegrityError", DatabaseError,NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "IntegrityError", IntegrityError);
 
-    if (!(DataError = PyErr_NewException("sqlite3.DataError", DatabaseError, NULL))) {
+    if (!(DataError = PyErr_NewException(MODULE_NAME ".DataError", DatabaseError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "DataError", DataError);
 
-    if (!(NotSupportedError = PyErr_NewException("sqlite3.NotSupportedError", DatabaseError, NULL))) {
+    if (!(NotSupportedError = PyErr_NewException(MODULE_NAME ".NotSupportedError", DatabaseError, NULL))) {
         goto error;
     }
     PyDict_SetItemString(dict, "NotSupportedError", NotSupportedError);
@@ -320,6 +320,6 @@
 error:
     if (PyErr_Occurred())
     {
-        PyErr_SetString(PyExc_ImportError, "_sqlite3: init failed");
+        PyErr_SetString(PyExc_ImportError, MODULE_NAME ": init failed");
     }
 }
diff --git a/Modules/_sqlite/module.h b/Modules/_sqlite/module.h
index 75fe29d..6694735 100644
--- a/Modules/_sqlite/module.h
+++ b/Modules/_sqlite/module.h
@@ -25,6 +25,8 @@
 #define PYSQLITE_MODULE_H
 #include "Python.h"
 
+#define PYSQLITE_VERSION "2.2.0"
+
 extern PyObject* Error;
 extern PyObject* Warning;
 extern PyObject* InterfaceError;
diff --git a/Modules/_sqlite/prepare_protocol.c b/Modules/_sqlite/prepare_protocol.c
index 522f1d1..26b663b 100644
--- a/Modules/_sqlite/prepare_protocol.c
+++ b/Modules/_sqlite/prepare_protocol.c
@@ -36,7 +36,7 @@
 PyTypeObject SQLitePrepareProtocolType= {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.PrepareProtocol",             /* tp_name */
+        MODULE_NAME ".PrepareProtocol",                 /* tp_name */
         sizeof(SQLitePrepareProtocol),                  /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)prepare_protocol_dealloc,           /* tp_dealloc */
diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c
index 77c7896..80b6135 100644
--- a/Modules/_sqlite/row.c
+++ b/Modules/_sqlite/row.c
@@ -154,7 +154,7 @@
 PyTypeObject RowType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Row",                         /* tp_name */
+        MODULE_NAME ".Row",                             /* tp_name */
         sizeof(Row),                                    /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)row_dealloc,                        /* tp_dealloc */
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index ae48b4b..a8a9cf5 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -381,7 +381,7 @@
 PyTypeObject StatementType = {
         PyObject_HEAD_INIT(NULL)
         0,                                              /* ob_size */
-        "pysqlite2.dbapi2.Statement",                   /* tp_name */
+        MODULE_NAME ".Statement",                       /* tp_name */
         sizeof(Statement),                              /* tp_basicsize */
         0,                                              /* tp_itemsize */
         (destructor)statement_dealloc,                  /* tp_dealloc */
diff --git a/PCbuild/_sqlite3.vcproj b/PCbuild/_sqlite3.vcproj
index a24c5e6..bdb1a9b 100644
--- a/PCbuild/_sqlite3.vcproj
+++ b/PCbuild/_sqlite3.vcproj
@@ -22,7 +22,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4"
-				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;PYSQLITE_VERSION=\&quot;2.2.0\&quot;"
+				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MODULE_NAME=\&quot;sqlite3\&quot;"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="3"
@@ -77,7 +77,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;PYSQLITE_VERSION=\&quot;2.2.0\&quot;"
+				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\&quot;sqlite3\&quot;"
 				StringPooling="TRUE"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="TRUE"
@@ -135,7 +135,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="{MSSDKPATH}\include\Win64\atl;{MSSDKPATH}\include\Win64\crt;{MSSDKPATH}\include\Win64\crt\sys;{MSSDKPATH}\include\Win64\mfc;..\Include;..\PC;..\..\sqlite-source-3.3.4"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;PYSQLITE_VERSION=\&quot;2.2.0\&quot;"
+				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\&quot;sqlite3\&quot;"
 				StringPooling="TRUE"
 				BasicRuntimeChecks="0"
 				RuntimeLibrary="2"
@@ -197,7 +197,7 @@
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="{MSSDKPATH}\include\Win64\atl\amd64;{MSSDKPATH}\include\Win64\crt\amd64;{MSSDKPATH}\include\Win64\crt\amd64\sys;{MSSDKPATH}\include\Win64\mfc\amd64;..\Include;..\PC;..\..\sqlite-source-3.3.4"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;PYSQLITE_VERSION=\&quot;2.2.0\&quot;"
+				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MODULE_NAME=\&quot;sqlite3\&quot;"
 				StringPooling="TRUE"
 				BasicRuntimeChecks="0"
 				RuntimeLibrary="2"
diff --git a/setup.py b/setup.py
index cb1d108..fb33bba 100644
--- a/setup.py
+++ b/setup.py
@@ -755,11 +755,10 @@
             PYSQLITE_VERSION = "2.2.0"
             sqlite_defines = []
             if sys.platform != "win32":
-                sqlite_defines.append(('PYSQLITE_VERSION',
-                                        '"%s"' % PYSQLITE_VERSION))
+                sqlite_defines.append(('MODULE_NAME', '"sqlite3"'))
             else:
-                sqlite_defines.append(('PYSQLITE_VERSION',
-                                        '\\"'+PYSQLITE_VERSION+'\\"'))
+                sqlite_defines.append(('MODULE_NAME', '\\"sqlite3\\"'))
+
             sqlite_defines.append(('PY_MAJOR_VERSION',
                                         str(sys.version_info[0])))
             sqlite_defines.append(('PY_MINOR_VERSION',
