Yet another case when this error arises. If your fragment or activity contains ListView with DB cursor adapter, you should open the cursor in onCreate (or onCreateView) method and close it in onDestroy method. I did this in onStart and in onStop methods and faced with this error when ListView queries the cursor in its onSaveInstanceState method when the ListView is scrolled down from the first line. onSaveInstanceState is called after onStop and this was the cause of the error. So it is probably safe to close the cursor in on Destroy callback only.