         direction: .Forward,
         animated: true,
         completion: { [unowned self] finished in
-          self.pagesDelegate?.pageViewController(self,
-            setViewController: viewController,
-            atPage: self.currentIndex)
+          if finished {
+            self.setViewController(viewController, atPage: self.currentIndex)
+          }
         })
       if setNavigationTitle {
         title = viewController.title

// MARK: Private methods

extension PagesController {

  func viewControllerIndex(viewController: UIViewController) -> Int? {
    return find(pages, viewController)

  public private(set) var currentIndex = 0

  public var pagesDelegate: PagesControllerDelegate?

  public var pageChangeHandler: ((viewController: UIViewController, page: Int) -> Void)?

  public private(set) lazy var bottomLineView: UIView = {
    let view = UIView()
