Younus Does your query use bind variables? I wonder if the first time this SQL is executed that query is submitted with an unusual value, which causes an execution plan that uses a FTS. Subsequent executions will continue to use that execution plan. Your flushing the shared pool causes that execution plan to be flushed so the next execution gets the execution plan that you desire. Dennis Williams