diff --git a/lib/dbp_dynamodb.js b/lib/dbp_dynamodb.js
index <HASH>..<HASH> 100644
--- a/lib/dbp_dynamodb.js
+++ b/lib/dbp_dynamodb.js
@@ -479,7 +479,14 @@ Pool.prototype.queryRunSelect = function(op, client, req, query, callback)
             }
         }
         // Full scan on multiple hash keys
-        if (req.options.ops[p] == "in" && lib.isArray(query[p]) && (p == req.options.keys[0] || p == dbkeys[0])) op = 'ddbScanTable';
+        if (req.options.ops[p] == "in" && lib.isArray(query[p]) && (p == req.options.keys[0] || p == dbkeys[0])) {
+            if (query[p].length == 1) {
+                query[p] = query[p][0];
+                delete req.options.ops[p];
+            } else {
+                op = 'ddbScanTable';
+            }
+        }
         // Noop for a hash key
         if (req.options.ops[p] && op == "ddbQueryTable" && (p == req.options.keys[0] || (!req.options.sort && p == dbkeys[0]))) req.options.ops[p] = '';
         // Large IN lists, iterate, only one at a time
allow in for keys with only one item for DDB