diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c
new file mode 100644
index 2e896a2..09b8c8e
*** a/src/backend/access/nbtree/nbtutils.c
--- b/src/backend/access/nbtree/nbtutils.c
*************** _bt_preprocess_keys(IndexScanDesc scan)
*** 339,344 ****
--- 339,351 ----
  					if (!chk || j == (BTEqualStrategyNumber - 1))
  						continue;
  
+ 					/* IS NULL together with any other predicate must fail */
+ 					if (eq->sk_flags & SK_SEARCHNULL)
+ 					{
+ 						so->qual_ok = false;
+ 						return;
+ 					}
+ 
  					if (_bt_compare_scankey_args(scan, chk, eq, chk,
  												 &test_result))
  					{
