diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c
new file mode 100644
index b5553ff..774df6a
*** a/src/backend/access/gist/gistscan.c
--- b/src/backend/access/gist/gistscan.c
*************** GISTSearchTreeItemComparator(const RBNod
*** 37,43 ****
  	for (i = 0; i < scan->numberOfOrderBys; i++)
  	{
  		if (sa->distances[i] != sb->distances[i])
! 			return (sa->distances[i] > sb->distances[i]) ? 1 : -1;
  	}
  
  	return 0;
--- 37,58 ----
  	for (i = 0; i < scan->numberOfOrderBys; i++)
  	{
  		if (sa->distances[i] != sb->distances[i])
! 		{
! 			if (isnan(sa->distances[i]))
! 			{
! 				if (isnan(sb->distances[i]))
! 					continue;
! 				else
! 					return 1;
! 			}
! 			else
! 			{
! 				if (isnan(sb->distances[i]))
! 					return -1;
! 				else
! 					return (sa->distances[i] > sb->distances[i]) ? 1 : -1;
! 			}
! 		}
  	}
  
  	return 0;
