Code Fix from Georg As I mentioned, he also let me know about some problems he ran into. He asked me to reword it in my own words, but I don't think I could make it any clearer. So here is his explanation: "In your Arduino version 1.8.5 the SD library has a different definition of FILE_WRITE than the following versions. I use 1.8.9 and didn't manage to get something written until I found the difference: 1.8.5: #define FILE_WRITE (O_READ | O_WRITE | O_CREAT) 1.8.9: #define FILE_WRITE (O_READ | O_WRITE | O_CREAT | O_APPEND) So the current version always wants to append to a file - even though we first do a seek. Although i think it is a bug in the SD library I changed your code to be independent from any future variations: I changed File dsk = SD.open(diskNames[unit * 2 + disk], FILE_WRITE); to File dsk = SD.open(diskNames[unit * 2 + disk], (O_READ | O_WRITE | O_CREAT)); I guess it should be sufficient to use only "O_WRITE", because you open the file for every single read or write. "