         } else {
             cell = collectionView.dequeueReusableCellWithReuseIdentifier(PhotoCollectionViewCell.cellIdentifier(), forIndexPath: indexPath) as! PhotoCollectionViewCell
         }
-        cell.contentView.rotateToDeviceOrientation()
+        // This cannot use the currentRotation call as it might be called when .FaceUp or .FaceDown is device-orientation
+        cell.contentView.rotateToDeviceOrientation(orientation)
         cell.delegate = self
         return cell
     }

            switch UIDevice.currentDevice().orientation {
            case .FaceDown, .FaceUp, .Unknown:
                ()
            case .LandscapeLeft:
                self.updateWidgetsToOrientation(.LandscapeLeft)
            case .LandscapeRight:
                self.updateWidgetsToOrientation(.LandscapeRight)
            case .Portrait:
                self.updateWidgetsToOrientation(.Portrait)
            case .PortraitUpsideDown:
                self.updateWidgetsToOrientation(.PortraitUpsideDown)
            }
        }
    }



extension UIView {
    public func rotateToCurrentDeviceOrientation() {
        self.rotateToDeviceOrientation(UIDevice.currentDevice().orientation)
    }

    public func rotateToDeviceOrientation(orientation: UIDeviceOrientation) {
        switch orientation {
        case .FaceDown, .FaceUp, .Unknown:
            ()
        case .LandscapeLeft:
