diff --git a/Source/Core/General/General.cs b/Source/Core/General/General.cs
index e390d913a57c000293b68d0b33c7cd266878ae2c..abafd5158629ea3c8928bbfeab407c0cda71b1a6 100755
--- a/Source/Core/General/General.cs
+++ b/Source/Core/General/General.cs
@@ -2053,6 +2053,13 @@ namespace CodeImp.DoomBuilder
 		// This opens a URL in the default browser
 		public static void OpenWebsite(string url)
 		{
+            // [ZZ] note: it may break. no idea why it was done like it was done.
+            string url2 = url.ToLowerInvariant();
+            if (!url2.StartsWith("http://") && !url2.StartsWith("https://") && !url2.StartsWith("ftp://") && !url2.StartsWith("mailto:"))
+                return;
+            System.Diagnostics.Process.Start(url);
+            /*
+
 			RegistryKey key = null;
 			Process p = null;
 			string browser;
@@ -2089,8 +2096,8 @@ namespace CodeImp.DoomBuilder
 			catch(Exception) { }
 
 			// Clean up
-			if(p != null) p.Dispose();
-		}
+			if(p != null) p.Dispose();*/
+        }
 		
 		// This returns the short path name for a file
 		public static string GetShortFilePath(string longpath)
diff --git a/Source/Core/Properties/AssemblyInfo.cs b/Source/Core/Properties/AssemblyInfo.cs
index d62b4eeb7ccf1ee1b2bb34c1a1d0deca22cc90a5..6b3c39f1bc50e68dd7efb37345729ae016c8646d 100755
--- a/Source/Core/Properties/AssemblyInfo.cs
+++ b/Source/Core/Properties/AssemblyInfo.cs
@@ -30,6 +30,6 @@ using CodeImp.DoomBuilder;
 //      Build Number
 //      Revision
 //
-[assembly: AssemblyVersion("2.3.0.2856")]
+[assembly: AssemblyVersion("2.3.0.2857")]
 [assembly: NeutralResourcesLanguageAttribute("en")]
-[assembly: AssemblyHash("cb8473f")]
+[assembly: AssemblyHash("7e502a1")]
diff --git a/Source/Core/ZDoom/ZScriptTokenizer.cs b/Source/Core/ZDoom/ZScriptTokenizer.cs
index 22f72fb11ceeb6913eaa0a07b8ef77983de246e0..6dcfc7e6801f1f6ea51846b159cd9f25f2bff9b0 100755
--- a/Source/Core/ZDoom/ZScriptTokenizer.cs
+++ b/Source/Core/ZDoom/ZScriptTokenizer.cs
@@ -512,9 +512,17 @@ namespace CodeImp.DoomBuilder.ZDoom
                     }
                 }
             }
-            catch (IOException)
+            catch (Exception ex)
             {
-                reader.BaseStream.Position = cpos;
+                try
+                {
+                    reader.BaseStream.Position = cpos;
+                }
+                catch (Exception ex2)
+                {
+                    /* ... */
+                }
+
                 return null;
             }
 
@@ -562,7 +570,7 @@ namespace CodeImp.DoomBuilder.ZDoom
                 tok.IsValid = false;
                 return tok;
             }
-            catch (IOException)
+            catch (Exception ex)
             {
                 return null;
             }
diff --git a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
index 75030b2fe1f59043daa0ef0afb95c875c10889d3..525b572c255b8e43dfb6765689afa58910c95126 100755
--- a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
+++ b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Resources;
 //      Build Number
 //      Revision
 //
-[assembly: AssemblyVersion("2.3.0.2856")]
+[assembly: AssemblyVersion("2.3.0.2857")]
 [assembly: NeutralResourcesLanguageAttribute("en")]