Select * ; From D40 ; Where ; Left( D40Acct, 2 ) = "13" And ; Empty( D40CkNo ) NoOptimize Into Cursor qRailInvoices <pre> Here the Top clause uses the index because I have not placed a NoOptimize next to it. The bottom clause has a NoOptimize. As we have seen it is better not to use the index against the large set when you have a small set combined with a large set. But you still can keep your index for a query like. <pre> Select * ; From D40 ; Where ; Empty( D40CkNo ) ; Into Cursor qRailInvoicesIn this case, even though you are returning a large result set you want to use the index.