Index: applications/editors/josm/plugins/ColumbusCSV/src/org/openstreetmap/josm/plugins/columbusCSV/ColumbusCSVReader.java
===================================================================
--- applications/editors/josm/plugins/ColumbusCSV/src/org/openstreetmap/josm/plugins/columbusCSV/ColumbusCSVReader.java	(revision 26818)
+++ applications/editors/josm/plugins/ColumbusCSV/src/org/openstreetmap/josm/plugins/columbusCSV/ColumbusCSVReader.java	(revision 26819)
@@ -365,12 +365,13 @@
 		String voxFile = null;
 		if (isExtMode) {
-			voxFile = csvLine[14].toLowerCase();
+			voxFile = csvLine[14];
 		} else {
-			voxFile = csvLine[9].toLowerCase();
+			voxFile = csvLine[9];
 		}
 
 		if (!ColumbusCSVUtils.isStringNullOrEmpty(voxFile)) {
 			File file = getVoxFilePath(fileDir, voxFile);
-			if (file.exists()) {
+			if (file != null && file.exists()) {
+				// link vox file
 				int voxNum = getNumberOfVoxfile(voxFile);
 				lastVoxNumber = Math.max(voxNum, lastVoxNumber);
@@ -447,6 +448,16 @@
 	 */
 	public File getVoxFilePath(String fileDir, String voxFile) {
-		File file = new File(fileDir + File.separator + voxFile + ".wav");
-		return file;
+		// The FAT16 file name is interpreted differently from case-sensitive file systems, so we
+		// have to test several variants
+		String[] fileNameVariants = new String[] {voxFile, voxFile.toLowerCase(), voxFile.toUpperCase()};
+		
+		for (int i = 0; i < fileNameVariants.length; i++) {
+			File file = new File(fileDir + File.separator + fileNameVariants[i] + ".wav");
+			if (file.exists()) {
+				return file;
+			}
+		}
+		return null; // give up...
+		
 	}
 
