diff --git a/src/js/gestures/drag-handler.js b/src/js/gestures/drag-handler.js
index <HASH>..<HASH> 100644
--- a/src/js/gestures/drag-handler.js
+++ b/src/js/gestures/drag-handler.js
@@ -104,7 +104,7 @@ class DragHandler {
     if ((pswp.currSlide.currZoomLevel > pswp.currSlide.zoomLevels.max
         && this.pswp.options.limitMaxZoom)
         || this.gestures.isMultitouch) {
-      this.gestures.zoomLevels.correctZoomPan(true);
+      this.gestures.zoomLevels.correctZoomPan();
     } else {
       // we run two animations instead of one,
       // as each axis has own pan boundaries and thus different spring function
diff --git a/src/js/gestures/zoom-handler.js b/src/js/gestures/zoom-handler.js
index <HASH>..<HASH> 100644
--- a/src/js/gestures/zoom-handler.js
+++ b/src/js/gestures/zoom-handler.js
@@ -128,6 +128,10 @@ class ZoomHandler {
       return;
     }
 
+    if (this._zoomPoint.x === undefined) {
+      ignoreGesture = true;
+    }
+
     const prevZoomLevel = currSlide.currZoomLevel;
 
     let destinationZoomLevel;
Fix: pan position is sometimes incorrect after zoom beyond the max level