SD.begin fails after a reset.

Using SD.h library I find that SD.begin(pin) fails sometime. I realized after trial and error that is happens when I reset the arduino after SD.begin() passes. And I can fix it as long as I power restart the card or reinsert it. I have it powered by on board 3.3v supply which is unaffected by reset. A hardware solution would be to power reset the card reader, but I would like a software solution

SD.h seems to be a wrapper, for Sd2card, SdVolume, SdFile. When the problem happens Sd2card.init still works, but it fails to init Sdvolume. So SdVolume library seems to have a problem with I haven't figure it out enough for a solution.

But, I found that if I called a function* from Sd2card before SdVolume init it seems to work even after reset.

*tested with sd2card.cardSize() which also reported twice the value on large card.

Anyways just started using the library and it already has tones of problems with it.

I don't expect an answer, but I hope to make the point of the problem.