diff --git a/MyItemizedOverlay.cs b/MyItemizedOverlay.cs
index b0137ba..e96884d 100644
--- a/MyItemizedOverlay.cs
+++ b/MyItemizedOverlay.cs
@@ -14,7 +14,36 @@ using Android.Graphics.Drawables;
 
 namespace MonoDroid.GoogleMapsDemo
 {
-    class MyItemizedOverlay : ItemizedOverlay
+    [Register ("com/google/android/maps/ItemizedOverlay", DoNotGenerateAcw=true)]
+    abstract class FixedItemizedOverlay : ItemizedOverlay {
+
+        [Register ("<init>", "(Landroid/graphics/drawable/Drawable;)V", "")]
+        public FixedItemizedOverlay (Android.Graphics.Drawables.Drawable defaultMarker)
+            : base (defaultMarker)
+        {
+        }
+
+        [Register ("createItem", "(I)Lcom/google/android/maps/OverlayItem;", "GetCreateItemHelper")]
+        protected abstract OverlayItem CreateItem(int index);
+
+        static Delegate cb_CreateItem;
+        static Delegate GetCreateItemHelper ()
+        {
+            if (cb_CreateItem == null)
+                cb_CreateItem = JNINativeWrapper.CreateDelegate ((Func<IntPtr, IntPtr, int, IntPtr>) _CreateItem);
+
+            return cb_CreateItem;
+        }
+
+        static IntPtr _CreateItem (IntPtr env, IntPtr __self, int index)
+        {
+            FixedItemizedOverlay self = Java.Lang.Object.GetObject<FixedItemizedOverlay>(__self, JniHandleOwnership.DoNotTransfer);
+            OverlayItem value = self.CreateItem (index);
+            return JNIEnv.ToJniHandle (value);
+        }
+    }
+
+    class MyItemizedOverlay : FixedItemizedOverlay
     {
         private List<OverlayItem> overlayItems = new List<OverlayItem>();
         private Context context;
@@ -53,9 +82,9 @@ namespace MonoDroid.GoogleMapsDemo
             return true;
         }
 
-        /*public override OverlayItem CreateItem(int index)
+        protected override OverlayItem CreateItem(int index)
         {
             return overlayItems.ElementAt(index);
-        }*/
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/Resources/Resource.Designer.cs b/Resources/Resource.Designer.cs
index 890b79b..cb6fc8f 100644
--- a/Resources/Resource.Designer.cs
+++ b/Resources/Resource.Designer.cs
@@ -1,12 +1,12 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.239
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------
+//  <autogenerated>
+//      This code was generated by a tool.
+//      Mono Runtime Version: 4.0.30319.1
+// 
+//      Changes to this file may cause incorrect behavior and will be lost if 
+//      the code is regenerated.
+//  </autogenerated>
+// ------------------------------------------------------------------------------
 
 namespace MonoDroid.GoogleMapsDemo
 {
