 			}
 
 			newContentOffset = newContentOffset.clamp(min: scrollView.minimumContentOffset, max: scrollView.maximumContentOffset)
+
 			if newContentOffset != contentOffset {
 				scrollView.contentOffset = newContentOffset
 				contentOffset = newContentOffset
 			}
+
+			layoutsExistingChildren = true
+		}
+		else {
+			contentOffset = scrollView.contentOffset
+			layoutsExistingChildren = false
 		}
 
 		let visibleIndexes: Range<Int>



	private func layoutChildContainer() {
		let viewSize = view.bounds.size
		let contentSize = CGSize(width: CGFloat(viewControllers.count) * viewSize.width, height: viewSize.height)

		childContainer.frame = CGRect(size: contentSize)
		scrollView.contentSize = contentSize
	}



			}

			if isViewLoaded() {
				layoutChildrenForcingLayoutUpdate(true)
				updatePrimaryViewController()
			}
