diff --git a/lib/squirm/core.rb b/lib/squirm/core.rb
index <HASH>..<HASH> 100644
--- a/lib/squirm/core.rb
+++ b/lib/squirm/core.rb
@@ -74,7 +74,7 @@ module Squirm
     # connection is given, then one will be checked out from the pool for use
     # inside the block, and then checked back in when the method returns.
     def use(conn = nil)
-      conn_given = conn != nil
+      conn_given = !!conn
       conn = conn_given ? conn : @pool.checkout
       begin
         yield Thread.current[:squirm_connection] = conn
diff --git a/spec/core_spec.rb b/spec/core_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/core_spec.rb
+++ b/spec/core_spec.rb
@@ -53,6 +53,13 @@ describe Squirm do
       end
       assert_nil Thread.current[:squirm_connection]
     end
+
+    it "should use connection if given as an argument" do
+      mock = Object.new
+      Squirm.use(mock) do |conn|
+        assert mock == conn
+      end
+    end
   end
 
   describe "#exec" do
Add test for passing connection to `use`.