 
 extension BrowserViewController {
     func showReaderModeBar(#animated: Bool) {
-        if let url = self.tabManager.selectedTab?.displayURL?.absoluteString, result = profile.readingList?.getRecordWithURL(url) {
-            if let successValue = result.successValue, record = successValue {
-                readerModeBar.unread = record.unread
-                readerModeBar.added = true
+        if self.readerModeBar == nil {
+            let readerModeBar = ReaderModeBarView(frame: CGRectZero)
+            readerModeBar.delegate = self
+            view.insertSubview(readerModeBar, belowSubview: header)
+            self.readerModeBar = readerModeBar
+        }
+
+        if let readerModeBar = readerModeBar {
+            if let url = self.tabManager.selectedTab?.displayURL?.absoluteString, result = profile.readingList?.getRecordWithURL(url) {
+                if let successValue = result.successValue, record = successValue {
+                    readerModeBar.unread = record.unread
+                    readerModeBar.added = true
+                } else {
+                    readerModeBar.unread = true
+                    readerModeBar.added = false
+                }
             } else {
                 readerModeBar.unread = true
                 readerModeBar.added = false
             }
-        } else {
-            readerModeBar.unread = true
-            readerModeBar.added = false
-        }
-        readerModeBar.hidden = false
+        }
+
         self.updateViewConstraints()
     }
 
     func hideReaderModeBar(#animated: Bool) {
-        readerModeBar.hidden = true
+        readerModeBar?.removeFromSuperview()
+        readerModeBar = nil
         self.updateViewConstraints()
     }
 

        webViewContainer.snp_remakeConstraints { make in
            make.left.right.equalTo(self.view)

            if !self.readerModeBar.hidden {
                make.top.equalTo(self.readerModeBar.snp_bottom)
            } else {
                make.top.equalTo(self.header.snp_bottom)
            }

        }
        header.setNeedsUpdateConstraints()

        readerModeBar?.snp_remakeConstraints { make in
            self.readerConstraint = make.top.equalTo(self.header.snp_bottom).constraint
            make.height.equalTo(AppConstants.ToolbarHeight)
            make.leading.trailing.equalTo(self.view)
