Index: binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs
===================================================================
--- binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs	(revision 374)
+++ binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs	(revision 391)
@@ -7,9 +7,5 @@
 		public override byte[] GetFileContent (string _filename) {
 			try {
-				if (!File.Exists (_filename)) {
-					return null;
-				}
-
-				return File.ReadAllBytes (_filename);
+				return File.Exists (_filename) ? File.ReadAllBytes (_filename) : null;
 			} catch (Exception e) {
 				Log.Out ("Error in DirectAccess.GetFileContent: " + e);
Index: binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs
===================================================================
--- binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs	(revision 374)
+++ binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs	(revision 391)
@@ -36,17 +36,19 @@
 				lock (cache) {
 					CurrentZoomFile cacheEntry = cache [_zoomlevel];
-					
-					if (cacheEntry.filename == null || !cacheEntry.filename.Equals (_filename)) {
-						cacheEntry.filename = _filename;
 
-						if (!File.Exists (_filename)) {
-							cacheEntry.pngData = null;
-							return null;
-						}
+					if (cacheEntry.filename != null && cacheEntry.filename.Equals (_filename)) {
+						return cacheEntry.pngData;
+					}
 
-						Profiler.BeginSample ("ReadPng");
-						cacheEntry.pngData = ReadAllBytes (_filename);
-						Profiler.EndSample ();
+					cacheEntry.filename = _filename;
+
+					if (!File.Exists (_filename)) {
+						cacheEntry.pngData = null;
+						return null;
 					}
+
+					Profiler.BeginSample ("ReadPng");
+					cacheEntry.pngData = ReadAllBytes (_filename);
+					Profiler.EndSample ();
 
 					return cacheEntry.pngData;
@@ -103,9 +105,5 @@
 					}
 
-					if (!File.Exists (_filename)) {
-						return transparentTile;
-					}
-
-					return ReadAllBytes (_filename);
+					return !File.Exists (_filename) ? transparentTile : ReadAllBytes (_filename);
 				}
 			} catch (Exception e) {
Index: binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs
===================================================================
--- binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs	(revision 374)
+++ binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs	(revision 391)
@@ -11,11 +11,13 @@
 			try {
 				lock (fileCache) {
-					if (!fileCache.ContainsKey (_filename)) {
-						if (!File.Exists (_filename)) {
-							return null;
-						}
+					if (fileCache.ContainsKey (_filename)) {
+						return fileCache [_filename];
+					}
 
-						fileCache.Add (_filename, File.ReadAllBytes (_filename));
+					if (!File.Exists (_filename)) {
+						return null;
 					}
+
+					fileCache.Add (_filename, File.ReadAllBytes (_filename));
 
 					return fileCache [_filename];
