 	*/
 	public func displayContentController(segueIdentifier segueIdentifier: UIStoryboardSegueIdentifier) {
 
-		guard self.isPerformingTransition == false && self.currentSegueIdentifier != segueIdentifier else {
+		guard self.isPerformingTransition == false && (self.currentSegueIdentifier != segueIdentifier || self.shouldReuseContentController == false) else {
 			// Don't perform the swap if we are currently performing a transition or if the target view controller is already is shown.
 			Log("Segue with the identifier \(segueIdentifier) won't be displayed as it is already the current content controller")
 			return

			for (storedSegueIdentifier, storedContentController) in self.embedContentControllers {
				if (storedSegueIdentifier == segueIdentifier),
					let _currentContentController = self.currentContentController {
					self.replaceContentController(fromContentController: _currentContentController, toContentController: storedContentController, isReused: true)
						// Update the reuse state
						didReuseContentController = true
						// Update the current segue identifier

	override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
		Log("Prepare for segue with identifier: \(segue.identifier)")
		if let _segueIdentifier = segue.identifier {
			// Store the content controller for later reuse and to keep track of the current content controller if reusing is enabled
			if (self.shouldReuseContentController == true) {
				self.embedContentControllers[_segueIdentifier] = segue.destinationViewController
			}
			// Check whether there is already a current content controler
			if let _currentContentController = self.currentContentController {
				// If there is a current content controller we can replace the content controller directly
