diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs
index d9fd7e7fb8..7093bc908c 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs
@@ -136,8 +136,8 @@ namespace ICSharpCode.SharpDevelop.Services
 			string version = debugger.GetProgramVersion(processStartInfo.FileName);
 			if (version.StartsWith("v1.0")) {
 				MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.Net10NotSupported}");
-			} else if (version == null || version.Length == 0) {
-				MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.BadAssembly}");
+			//} else if (string.IsNullOrEmpty(version)) {
+			//	MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.BadAssembly}");
 			} else {
 				if (DebugStarting != null)
 					DebugStarting(this, EventArgs.Empty);
diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs
index ffa14fdd29..51f9aa36a7 100644
--- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs
@@ -77,6 +77,7 @@ namespace Debugger
 			NativeMethods.GetRequestedRuntimeVersion(exeFilename, null, 0, out size);
 			StringBuilder sb = new StringBuilder(size);
 			NativeMethods.GetRequestedRuntimeVersion(exeFilename, sb, sb.Capacity, out size);
+			sb.Length = size; // TODO: What is the last char?  What is the result for unmanaged apps?
 			return sb.ToString();
 		}
 		
@@ -87,13 +88,12 @@ namespace Debugger
 		/// If null, the version of the executing process will be used</param>
 		internal void InitDebugger(string debuggeeVersion)
 		{
-			if (debuggeeVersion != null && debuggeeVersion.Length > 1) {
-				this.debuggeeVersion = debuggeeVersion;
-			} else {
-				this.debuggeeVersion = GetDebuggerVersion();
+			if (string.IsNullOrEmpty(debuggeeVersion)) {
+				debuggeeVersion = GetDebuggerVersion();
 			}
+			this.debuggeeVersion = debuggeeVersion;
 			
-			corDebug = new ICorDebug(NativeMethods.CreateDebuggingInterfaceFromVersion(3, this.debuggeeVersion));
+			corDebug = new ICorDebug(NativeMethods.CreateDebuggingInterfaceFromVersion(3, debuggeeVersion));
 			
 			managedCallbackSwitch = new ManagedCallbackSwitch(this);
 			managedCallbackProxy = new ManagedCallbackProxy(this, managedCallbackSwitch);