diff --git a/src/backend/access/spgist/spgtextproc.c b/src/backend/access/spgist/spgtextproc.c
index 25cd00e5a49754b61ae192167a1be9b443fc09d4..602e83ca8dfc64cb0bba606892a23e94f3968a66 100644
--- a/src/backend/access/spgist/spgtextproc.c
+++ b/src/backend/access/spgist/spgtextproc.c
@@ -603,22 +603,22 @@ spg_text_leaf_consistent(PG_FUNCTION_ARGS)
 			/* If asserts enabled, verify encoding of reconstructed string */
 			Assert(pg_verifymbstr(fullValue, fullLen, false));
 
-			r = varstr_cmp(fullValue, Min(queryLen, fullLen),
-						   VARDATA_ANY(query), Min(queryLen, fullLen),
+			r = varstr_cmp(fullValue, fullLen,
+						   VARDATA_ANY(query), queryLen,
 						   PG_GET_COLLATION());
 		}
 		else
 		{
 			/* Non-collation-aware comparison */
 			r = memcmp(fullValue, VARDATA_ANY(query), Min(queryLen, fullLen));
-		}
 
-		if (r == 0)
-		{
-			if (queryLen > fullLen)
-				r = -1;
-			else if (queryLen < fullLen)
-				r = 1;
+			if (r == 0)
+			{
+				if (queryLen > fullLen)
+					r = -1;
+				else if (queryLen < fullLen)
+					r = 1;
+			}
 		}
 
 		switch (strategy)