diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c
index fb05b06af9..fd05247bbf 100644
--- a/contrib/intarray/_int_gist.c
+++ b/contrib/intarray/_int_gist.c
@@ -93,17 +93,19 @@ g_int_consistent(PG_FUNCTION_ARGS)
 			break;
 		case RTContainedByStrategyNumber:
 		case RTOldContainedByStrategyNumber:
-			if (GIST_LEAF(entry))
-				retval = inner_int_contains(query,
-											(ArrayType *) DatumGetPointer(entry->key));
-			else
-			{
-				/*
-				 * Unfortunately, because empty arrays could be anywhere in
-				 * the index, we must search the whole tree.
-				 */
-				retval = true;
-			}
+
+			/*
+			 * Unfortunately, because empty arrays could be anywhere in the
+			 * index, implementing this would require searching the whole
+			 * tree.  As of intarray 1.4, <@ is no longer part of the opclass.
+			 * If we get here anyway, an obsolete opclass definition must
+			 * still be installed.
+			 */
+			ereport(ERROR,
+					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+					 errmsg("<@ operator is no longer supported by gist__int_ops"),
+					 errdetail("Please update to intarray 1.4 or later.")));
+			retval = false;		/* keep compiler quiet */
 			break;
 		default:
 			retval = false;
diff --git a/contrib/intarray/_intbig_gist.c b/contrib/intarray/_intbig_gist.c
index 67c44e99a9..5fe110e9ce 100644
--- a/contrib/intarray/_intbig_gist.c
+++ b/contrib/intarray/_intbig_gist.c
@@ -533,39 +533,19 @@ g_intbig_consistent(PG_FUNCTION_ARGS)
 			break;
 		case RTContainedByStrategyNumber:
 		case RTOldContainedByStrategyNumber:
-			if (GIST_LEAF(entry))
-			{
-				int			i,
-							num = ARRNELEMS(query);
-				int32	   *ptr = ARRPTR(query);
-				BITVECP		dq = palloc0(siglen),
-							de;
 
-				while (num--)
-				{
-					HASH(dq, *ptr, siglen);
-					ptr++;
-				}
-
-				de = GETSIGN((GISTTYPE *) DatumGetPointer(entry->key));
-				retval = true;
-				LOOPBYTE(siglen)
-				{
-					if (de[i] & ~dq[i])
-					{
-						retval = false;
-						break;
-					}
-				}
-			}
-			else
-			{
-				/*
-				 * Unfortunately, because empty arrays could be anywhere in
-				 * the index, we must search the whole tree.
-				 */
-				retval = true;
-			}
+			/*
+			 * Unfortunately, because empty arrays could be anywhere in the
+			 * index, implementing this would require searching the whole
+			 * tree.  As of intarray 1.4, <@ is no longer part of the opclass.
+			 * If we get here anyway, an obsolete opclass definition must
+			 * still be installed.
+			 */
+			ereport(ERROR,
+					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+					 errmsg("<@ operator is no longer supported by gist__intbig_ops"),
+					 errdetail("Please update to intarray 1.4 or later.")));
+			retval = false;		/* keep compiler quiet */
 			break;
 		default:
 			retval = false;
