diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla36955.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla36955.cs
new file mode 100644
index 000000000..4f1a8e799
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla36955.cs
@@ -0,0 +1,62 @@
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+#if UITEST
+using Xamarin.UITest;
+using Xamarin.UITest.iOS;
+using Xamarin.UITest.Queries;
+using NUnit.Framework;
+#endif
+
+namespace Xamarin.Forms.Controls.Issues
+{
+ [Preserve(AllMembers = true)]
+ [Issue(IssueTracker.Bugzilla, 36955, "[iOS] ViewCellRenderer.UpdateIsEnabled referencing null object", PlatformAffected.iOS)]
+ public class Bugzilla36955 : TestContentPage
+ {
+ protected override void Init()
+ {
+ var ts = new TableSection();
+ var tr = new TableRoot { ts };
+ var tv = new TableView(tr);
+
+ var sc = new SwitchCell
+ {
+ Text = "Toggle switch; nothing should crash"
+ };
+
+ var button = new Button();
+ button.SetBinding(Button.TextProperty, new Binding("On", source: sc));
+
+ var vc = new ViewCell
+ {
+ View = button
+ };
+ vc.SetBinding(IsEnabledProperty, new Binding("On", source: sc));
+
+ ts.Add(sc);
+ ts.Add(vc);
+
+ Content = tv;
+ }
+
+#if UITEST
+ [Test]
+ public void Bugzilla36955Test()
+ {
+ if (RunningApp is iOSApp)
+ {
+ AppResult[] buttonFalse = RunningApp.Query(q => q.Button().Text("False"));
+ Assert.AreEqual(buttonFalse.Length == 1, true);
+ RunningApp.Tap(q => q.Class("Switch"));
+ AppResult[] buttonTrue = RunningApp.Query(q => q.Button().Text("True"));
+ Assert.AreEqual(buttonTrue.Length == 1, true);
+ }
+ else
+ {
+ Assert.Inconclusive("Test is only run on iOS.");
+ }
+ }
+#endif
+ }
+}
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
index f843a2e3d..93de60b17 100644
--- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
@@ -68,6 +68,7 @@
+
diff --git a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
index b14162952..54f3c1e04 100644
--- a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
@@ -35,6 +35,8 @@ namespace Xamarin.Forms.Platform.iOS
viewCell.PropertyChanged += ViewCellPropertyChanged;
cell.ViewCell = viewCell;
+ SetRealCell(item, cell);
+
WireUpForceUpdateSizeRequested(item, cell, tv);
UpdateBackground(cell, item);