diff --git a/OpenSim/Framework/Console/LocalConsole.cs b/OpenSim/Framework/Console/LocalConsole.cs
index be936b6671..a3036d0df6 100644
--- a/OpenSim/Framework/Console/LocalConsole.cs
+++ b/OpenSim/Framework/Console/LocalConsole.cs
@@ -38,7 +38,7 @@ namespace OpenSim.Framework.Console
 {
     /// 
     /// A console that uses cursor control and color
-    /// 
+    ///     
     public class LocalConsole : CommandConsole
     {
 //        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -100,24 +100,40 @@ namespace OpenSim.Framework.Console
         private int SetCursorTop(int top)
         {
             // From at least mono 2.4.2.3, window resizing can give mono an invalid row and column values.  If we try
-            // to set a cursor row position with a currently invalid column, mono will throw an exception.
-            // Therefore, we need to make sure that the column position is valid first.
+            // to set a cursor row position with a currently invalid column, mono will throw an exception.  
+            // Therefore, we need to make sure that the column position is valid first.              
             int left = System.Console.CursorLeft;
 
             if (left < 0)
+            {
                 System.Console.CursorLeft = 0;
-            else if (left >= System.Console.BufferWidth)
-                System.Console.CursorLeft = System.Console.BufferWidth - 1;
+            }
+            else 
+            {
+                int bw = System.Console.BufferWidth;
+                
+                // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+                if (bw > 0 && left >= bw)
+                    System.Console.CursorLeft = bw - 1;
+            }
             
             if (top < 0)
+            {
                 top = 0;
-            if (top >= System.Console.BufferHeight)
-                top = System.Console.BufferHeight - 1;
+            }
+            else                
+            {
+                int bh = System.Console.BufferHeight;
+                
+                // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+                if (bh > 0 && top >= bh)
+                    top = bh - 1;
+            }
 
             System.Console.CursorTop = top;
 
             return top;
-        }
+        }        
 
         /// 
         /// Set the cursor column.
@@ -129,23 +145,38 @@ namespace OpenSim.Framework.Console
         /// 
         /// 
         /// The new cursor column.
-        /// 
+        ///         
         private int SetCursorLeft(int left)
         {
             // From at least mono 2.4.2.3, window resizing can give mono an invalid row and column values.  If we try
-            // to set a cursor column position with a currently invalid row, mono will throw an exception.
-            // Therefore, we need to make sure that the row position is valid first.
+            // to set a cursor column position with a currently invalid row, mono will throw an exception.  
+            // Therefore, we need to make sure that the row position is valid first.               
             int top = System.Console.CursorTop;
 
             if (top < 0)
+            {
                 System.Console.CursorTop = 0;
-            else if (top >= System.Console.BufferHeight)
-                System.Console.CursorTop = System.Console.BufferHeight - 1;
+            }
+            else 
+            {
+                int bh = System.Console.BufferHeight;
+                // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+                if (bh > 0 && top >= bh)
+                    System.Console.CursorTop = bh - 1;
+            }
             
             if (left < 0)
+            {
                 left = 0;
-            if (left >= System.Console.BufferWidth)
-                left = System.Console.BufferWidth - 1;
+            }
+            else
+            {
+                int bw = System.Console.BufferWidth;
+
+                // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+                if (bw > 0 && left >= bw)
+                    left = bw - 1;
+            }
 
             System.Console.CursorLeft = left;
 
@@ -183,7 +214,7 @@ namespace OpenSim.Framework.Console
                     System.Console.Write("{0}", prompt);
 
                 SetCursorTop(new_y);
-                SetCursorLeft(new_x);
+                SetCursorLeft(new_x);                
             }
         }
 
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index e20b3221c4..13a4b3f650 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1441,4 +1441,4 @@ namespace OpenSim.Framework
             return (diff >= 0) ? diff : (diff + EnvironmentTickCountMask + 1);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/README.txt b/README.txt
index ed59bf56b7..f1a71beadf 100644
--- a/README.txt
+++ b/README.txt
@@ -59,7 +59,8 @@ Once you are presented with a prompt that looks like:
 
 You have successfully started OpenSim.
 
-Before you can log in you will need to create a user account.  You can do
+Before you can log in you will need to create a user account if you didn't already create
+your user as the "Master Avatar" during the region configuration stage.  You can do
 this by running the "create user" command on the OpenSim console.  This will
 ask you a series of questions such as first name, last name and password.
 
diff --git a/bin/Mono.Security.dll b/bin/Mono.Security.dll
deleted file mode 100644
index c027c19f73..0000000000
Binary files a/bin/Mono.Security.dll and /dev/null differ
diff --git a/bin/OpenMetaverse.Http.dll b/bin/OpenMetaverse.Http.dll
deleted file mode 100644
index dbbe4d30bd..0000000000
Binary files a/bin/OpenMetaverse.Http.dll and /dev/null differ
diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll
index f3244f6d8e..f4992a21ea 100644
Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll
index edbf3ce2bb..8751bfc71e 100644
Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ
diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll
index 95d60217bd..6c6440ea5b 100644
Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ