diff --git a/src/backend/access/hash/hashsearch.c b/src/backend/access/hash/hashsearch.c
index 459fbc3a167984af787857026091706a3d777256..f1450e1c1ca79f2d33aa2fcb714a8aa65f06dd5a 100644
--- a/src/backend/access/hash/hashsearch.c
+++ b/src/backend/access/hash/hashsearch.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.8 1996/11/21 06:06:52 vadim Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.9 1997/04/30 06:31:16 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -221,7 +221,13 @@ _hash_first(IndexScanDesc scan, ScanDirection dir)
 	} else {
 	    ItemPointerSetInvalid(current);
 	    so->hashso_curbuf = InvalidBuffer;
-	    return ((RetrieveIndexResult) NULL);
+	    /* 
+	     * If there is no scankeys, all tuples will satisfy 
+	     * the scan - so we continue in _hash_step to get 
+	     * tuples from all buckets.	- vadim 04/29/97
+	     */
+	    if ( scan->numberOfKeys >= 1 )
+	    	return ((RetrieveIndexResult) NULL);
 	}
     }
     if (ScanDirectionIsBackward(dir)) {