diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Modules/Module.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Modules/Module.cs
index 90d1475f07..d3687f7472 100644
--- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Modules/Module.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Modules/Module.cs
@@ -144,15 +144,21 @@ namespace Debugger
 			fullPath = Marshal.PtrToStringUni(pString);
 			Marshal.FreeHGlobal(pString);
 			
-			string tempPath = Path.Combine(Path.GetTempPath(), Path.Combine("DebeggerPdb", new Random().Next().ToString()));
-			string pdbFilename = Path.GetFileNameWithoutExtension(FullPath) + ".pdb";
-			string oldPdbPath = Path.Combine(Path.GetDirectoryName(FullPath), pdbFilename);
-			string newPdbPath = Path.Combine(tempPath, pdbFilename);
-			if (File.Exists(oldPdbPath)) {
-				Directory.CreateDirectory(tempPath);
-				File.Move(oldPdbPath, newPdbPath);
-			}
-			fullPathPDB = newPdbPath;
+			string tempPath = String.Empty;
+			string pdbFilename = String.Empty;
+			string oldPdbPath = String.Empty;
+			string newPdbPath = String.Empty;
+			try {
+				tempPath = Path.Combine(Path.GetTempPath(), Path.Combine("DebeggerPdb", new Random().Next().ToString()));
+				pdbFilename = Path.GetFileNameWithoutExtension(FullPath) + ".pdb";
+				oldPdbPath = Path.Combine(Path.GetDirectoryName(FullPath), pdbFilename);
+				newPdbPath = Path.Combine(tempPath, pdbFilename);
+				if (File.Exists(oldPdbPath)) {
+					Directory.CreateDirectory(tempPath);
+					File.Move(oldPdbPath, newPdbPath);
+				}
+				fullPathPDB = newPdbPath;
+			} catch {}
 			
 			SymBinder symBinder = new SymBinder();
 			IntPtr ptr = IntPtr.Zero;
@@ -166,10 +172,12 @@ namespace Debugger
 					Marshal.Release(ptr);
 				}
 			}
-			
-			if (File.Exists(newPdbPath)) {
-				File.Copy(newPdbPath, oldPdbPath);
-			}
+
+			try {
+				if (File.Exists(newPdbPath) && !File.Exists(oldPdbPath)) {
+					File.Copy(newPdbPath, oldPdbPath);
+				}
+			} catch {}
 			
 			JMCStatus = SymbolsLoaded;
 		}