diff --git a/pdf-toolbox-viewer.cabal b/pdf-toolbox-viewer.cabal
--- a/pdf-toolbox-viewer.cabal
+++ b/pdf-toolbox-viewer.cabal
@@ -1,5 +1,5 @@
 name:                pdf-toolbox-viewer
-version:             0.0.3.0
+version:             0.0.3.1
 synopsis:            Simple pdf viewer
 description:         Proof of concept, only for debuging
 homepage:            https://github.com/Yuras/pdf-toolbox
diff --git a/viewer.hs b/viewer.hs
--- a/viewer.hs
+++ b/viewer.hs
@@ -21,10 +21,11 @@
 import System.Random (randomIO)
 import System.Process
 import System.Exit
-import Graphics.UI.Gtk hiding (Rectangle, FontMap)
+import Graphics.UI.Gtk hiding (Rectangle, FontMap, rectangle)
 import Graphics.Rendering.Cairo hiding (transform, Glyph)
 
 import Pdf.Toolbox.Document
+import Pdf.Toolbox.Document.Encryption
 import Pdf.Toolbox.Content
 
 data ViewerState = ViewerState {
@@ -249,8 +250,8 @@
     decryptor <- do
       dec <- getDecryptor
       case dec of
-        Nothing -> return (const return)
-        Just d -> return d
+        Nothing -> return $ \_ is -> return is
+        Just d -> return $ \ref is -> d ref DecryptStream is
     is <- parseContentStream ris knownFilters decryptor streams
 
     let loop p = do
@@ -261,7 +262,6 @@
                 forM_ glyphs $ \glyph ->
                   liftIO $ writeChan chan (Just glyph)
               --liftIO $ print $ prGlyphs p
-            Just (Op_apostrophe, args) -> error $ "Op_apostrophe (please report): " ++ show args
             Just (Op_quote, args) -> error $ "Op_quote (please report): " ++ show args
             Just op -> processOp op p >>= loop
     loop $ mkProcessor {
