Index: src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
===================================================================
--- src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java	(revision 1679255)
+++ src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java	(working copy)
@@ -456,12 +456,7 @@
                 // within a dictionary only the following kind of COS objects have to be decrypted
                 if (value instanceof COSString || value instanceof COSStream || value instanceof COSArray || value instanceof COSDictionary)
                 {
-                    // if we are a signature dictionary and contain a Contents entry then
-                    // we don't decrypt it.
-                    if (!(entry.getKey().equals(COSName.CONTENTS) && value instanceof COSString))
-                    {
-                        decrypt(value, objNum, genNum);
-                    }
+                	decrypt(value, objNum, genNum);
                 }
             }
         }
@@ -480,8 +475,16 @@
     {
         ByteArrayInputStream data = new ByteArrayInputStream(string.getBytes());
         ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        encryptData(objNum, genNum, data, buffer, true /* decrypt */);
-        string.setValue(buffer.toByteArray());
+        
+        try 
+        {
+        	encryptData(objNum, genNum, data, buffer, true /* decrypt */);
+        	string.setValue(buffer.toByteArray());
+        } 
+        catch(IOException e) 
+        {
+        	LOG.debug(String.format("Failed to decrypt object %d. Maybe it was already plain text", objNum), e);
+        }
     }
 
     /**
