diff --git a/libsecondlife-cs/Avatar.cs b/libsecondlife-cs/Avatar.cs
index 9e93ad75..e57706d0 100644
--- a/libsecondlife-cs/Avatar.cs
+++ b/libsecondlife-cs/Avatar.cs
@@ -473,7 +473,7 @@ namespace libsecondlife
/// AutoPilot(252620, 247078, 20.2674);
public void AutoPilotLocal(int localX, int localY, float z)
{
- GridRegion gr = Client.Grid.GetGridRegion(Client.Network.CurrentSim.Region.Name);
+ GridRegion gr = Client.Network.CurrentSim.Region.GridRegionData;
ulong GridCornerX = ((ulong)gr.X * (ulong)256) + (ulong)localX;
ulong GridCornerY = ((ulong)gr.Y * (ulong)256) + (ulong)localY;
AutoPilot(GridCornerX, GridCornerY, z);
diff --git a/libsecondlife-cs/Region.cs b/libsecondlife-cs/Region.cs
index ea390954..42c2736e 100644
--- a/libsecondlife-cs/Region.cs
+++ b/libsecondlife-cs/Region.cs
@@ -112,6 +112,24 @@ namespace libsecondlife
private SecondLife Client;
+
+ ///
+ private GridRegion _GridRegionData = null;
+ public GridRegion GridRegionData
+ {
+ get
+ {
+ if (_GridRegionData == null)
+ {
+ if ((Name != null) && (!Name.Equals("")))
+ {
+ _GridRegionData = Client.Grid.GetGridRegion(Client.Network.CurrentSim.Region.Name);
+ }
+ }
+ return _GridRegionData;
+ }
+ }
+
///
///
///