diff --git a/dbkit.py b/dbkit.py
index <HASH>..<HASH> 100644
--- a/dbkit.py
+++ b/dbkit.py
@@ -439,6 +439,7 @@ class Pool(PoolBase):
                 conn.close()
             except: # pragma: no cover
                 pass
+        self._pool.clear()
         self._cond.release()
 
 # }}}
diff --git a/tests/test_pools.py b/tests/test_pools.py
index <HASH>..<HASH> 100644
--- a/tests/test_pools.py
+++ b/tests/test_pools.py
@@ -65,3 +65,10 @@ def test_contention():
             with dbkit.transaction():
                 pass
     utils.spawn([wait_on_connection, hog_connection])
+
+def test_finalise():
+    assert POOL._allocated == 1
+    assert len(POOL._pool) == 1
+    POOL.finalise()
+    assert POOL._allocated == 0
+    assert len(POOL._pool) == 0
Ensure finalisation is done correctly and empty connections hang around.