diff --git a/lcl/include/sysenvapis_win.inc b/lcl/include/sysenvapis_win.inc
index 6a44bfc3f3..da896f2bb7 100644
--- a/lcl/include/sysenvapis_win.inc
+++ b/lcl/include/sysenvapis_win.inc
@@ -13,6 +13,12 @@ begin
Result := False;
if AURL = '' then Exit;
+ // A help for users which forget to properly encode their URLs
+ // See bug 21659 and see http://www.ietf.org/rfc/rfc1738.txt which says
+ // that spaces in URLs need to be encoded
+ if Pos(' ', AURL) > 0 then
+ AURL := StringReplace(AURL, ' ', '%20', [rfReplaceAll, rfIgnoreCase]);
+
{$IFDEF WinCE}
FillChar(Info, SizeOf(Info), 0);
Info.cbSize := SizeOf(Info);
diff --git a/lcl/lclbase.lpk b/lcl/lclbase.lpk
index 3eb1a8fac4..6f6c9ae7f3 100644
--- a/lcl/lclbase.lpk
+++ b/lcl/lclbase.lpk
@@ -30,7 +30,7 @@
-
+
@@ -1188,6 +1188,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+