diff --git a/Lib/sqlite3/test/regression.py b/Lib/sqlite3/test/regression.py
index 85eb3b4..1030061 100644
--- a/Lib/sqlite3/test/regression.py
+++ b/Lib/sqlite3/test/regression.py
@@ -232,8 +232,7 @@
         Verifies that running a PRAGMA statement that does an autocommit does
         work. This did not work in 2.5.3/2.5.4.
         """
-        con = sqlite.connect(":memory:")
-        cur = con.cursor()
+        cur = self.con.cursor()
         cur.execute("create table foo(bar)")
         cur.execute("insert into foo(bar) values (5)")
 
@@ -253,11 +252,17 @@
             def __hash__(self):
                 raise TypeError()
         var = NotHashable()
-        con = sqlite.connect(":memory:")
-        self.assertRaises(TypeError, con.create_function, var)
-        self.assertRaises(TypeError, con.create_aggregate, var)
-        self.assertRaises(TypeError, con.set_authorizer, var)
-        self.assertRaises(TypeError, con.set_progress_handler, var)
+        self.assertRaises(TypeError, self.con.create_function, var)
+        self.assertRaises(TypeError, self.con.create_aggregate, var)
+        self.assertRaises(TypeError, self.con.set_authorizer, var)
+        self.assertRaises(TypeError, self.con.set_progress_handler, var)
+
+    def CheckConnectionCall(self):
+        """
+        Call a connection with a non-string SQL request: check error handling
+        of the statement constructor.
+        """
+        self.assertRaises(sqlite.Warning, self.con, 1)
 
 def suite():
     regression_suite = unittest.makeSuite(RegressionTests, "Check")
