diff --git a/core/src/components/item-sliding/item-sliding.tsx b/core/src/components/item-sliding/item-sliding.tsx
index cd6b67841c3..b2a854975c2 100644
--- a/core/src/components/item-sliding/item-sliding.tsx
+++ b/core/src/components/item-sliding/item-sliding.tsx
@@ -270,6 +270,13 @@ export class ItemSliding implements ComponentInterface {
}
private onStart() {
+ /**
+ * We need to query for the ion-item
+ * every time the gesture starts. Developers
+ * may toggle ion-item elements via *ngIf.
+ */
+ this.item = this.el.querySelector('ion-item');
+
// Prevent scrolling during gesture
this.disableContentScrollY();
diff --git a/core/src/components/item-sliding/test/basic/index.html b/core/src/components/item-sliding/test/basic/index.html
index c5ebbbc1007..4a4d6f2784c 100644
--- a/core/src/components/item-sliding/test/basic/index.html
+++ b/core/src/components/item-sliding/test/basic/index.html
@@ -41,6 +41,7 @@
Open Item Start
Open Item End
Open Item with only one side
+ Swap dynamic item
@@ -369,6 +370,17 @@ RIGHT/LEFT side - many buttons
+
+
+ Dynamic First Item
+
+
+
+ First Item Options
+
+
+
+
Normal ion-item (no sliding)
@@ -387,6 +399,20 @@ Normal button (no sliding)