diff --git a/Mail+CoreDataClass.swift b/Mail+CoreDataClass.swift
index 524dc4add3159df7407058a360d9df76b11c89c6..b45ce0dea8802d7f94cb8bd769be78f39e2b39b8 100644
--- a/Mail+CoreDataClass.swift
+++ b/Mail+CoreDataClass.swift
@@ -61,6 +61,10 @@ open class Mail: NSManagedObject, Comparable {
     }
 
     var shortBodyString: String? {
+        guard !trouble else {
+            return nil
+        }
+        
         var message: String? = ""
         if isEncrypted && !unableToDecrypt {
             message = decryptedBody
diff --git a/enzevalos_iphone/ContactViewController.swift b/enzevalos_iphone/ContactViewController.swift
index e44405273a8642fd4577b1dfdef3f7d61dad5cf3..a562f17c40189732733c6dfaac24f3de55b8d575 100644
--- a/enzevalos_iphone/ContactViewController.swift
+++ b/enzevalos_iphone/ContactViewController.swift
@@ -10,6 +10,7 @@ import Foundation
 import UIKit
 import Contacts
 import ContactsUI
+
 // FIXME: comparison operators with optionals were removed from the Swift Standard Libary.
 // Consider refactoring the code to use the non-optional operators.
 fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
@@ -145,7 +146,7 @@ class ContactViewController: UIViewController {
     }
 
     func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
-        self.navigationController?.popViewController(animated: true)
+        _ = self.navigationController?.popViewController(animated: true)
         prepareContactSheet()
     }
 
diff --git a/enzevalos_iphone/ReadViewController.swift b/enzevalos_iphone/ReadViewController.swift
index fb403dc8c1acaa43c5827c4464b3a1871926e70c..9f0e28cc299698abdaa530fb470232239db50e82 100644
--- a/enzevalos_iphone/ReadViewController.swift
+++ b/enzevalos_iphone/ReadViewController.swift
@@ -76,7 +76,7 @@ class ReadViewController: UITableViewController {
                 if !mail.showMessage {
                     answerButton.isEnabled = false
                 }
-                navigationController?.navigationBar
+                _ = navigationController?.navigationBar
             } else if mail.isSecure {
                 self.navigationController?.navigationBar.barTintColor = ThemeManager.encryptedMessageColor()
             } else {
@@ -127,7 +127,7 @@ class ReadViewController: UITableViewController {
 
     override func numberOfSections(in tableView: UITableView) -> Int {
         if let mail = mail {
-            if mail.trouble && mail.showMessage || !mail.trouble && !mail.isSecure && mail.from.contact.hasKey {
+            if mail.trouble && mail.showMessage || !mail.trouble && !mail.isSecure && mail.from.contact.hasKey || mail.isEncrypted && mail.unableToDecrypt {
                 return 3
             }
         }
@@ -175,6 +175,13 @@ class ReadViewController: UITableViewController {
                     } else if indexPath.row == 1 {
                         return infoButtonCell
                     }
+                } else if mail.isEncrypted && mail.unableToDecrypt {
+                    infoSymbol.text = "?"
+                    infoSymbol.textColor = ThemeManager.uncryptedMessageColor()
+                    infoHeadline.text = NSLocalizedString("couldNotDecryptHeadline", comment: "Message could not be decrypted")
+                    infoHeadline.textColor = UIColor.gray
+                    infoText.text = NSLocalizedString("couldNotDecryptText", comment: "Message could not be decrypted")
+                    return infoCell
                 } else if mail.from.hasKey && !mail.isSecure {
                     infoSymbol.text = "?"
                     infoSymbol.textColor = ThemeManager.uncryptedMessageColor()
@@ -212,16 +219,16 @@ class ReadViewController: UITableViewController {
     }
 
     @IBAction func ignoreEmailButton(_ sender: AnyObject) {
-        navigationController?.popViewController(animated: true)
+        _ = navigationController?.popViewController(animated: true)
     }
 
     @IBAction func markUnreadButton(_ sender: AnyObject) {
         mail?.isRead = false
-        navigationController?.popViewController(animated: true)
+        _ = navigationController?.popViewController(animated: true)
     }
 
     @IBAction func deleteButton(_ sender: AnyObject) {
-        navigationController?.popViewController(animated: true)
+        _ = navigationController?.popViewController(animated: true)
     }
 
     @IBAction func iconButton(_ sender: AnyObject) {
@@ -247,7 +254,7 @@ class ReadViewController: UITableViewController {
                 alert = UIAlertController(title: NSLocalizedString("Postcard", comment: "postcard label"), message: NSLocalizedString("ReceiveInsecureInfo", comment: "Postcard infotext"), preferredStyle: .alert)
                 url = "https://enzevalos.de/infos/postcard"
             }
-            alert.addAction(UIAlertAction(title: "Mehr Informationen", style: .default, handler: { (action: UIAlertAction!) -> Void in UIApplication.shared.openURL(URL(string: url)!) }))
+            alert.addAction(UIAlertAction(title: NSLocalizedString("MoreInformation", comment: "More Information label"), style: .default, handler: { (action: UIAlertAction!) -> Void in UIApplication.shared.openURL(URL(string: url)!) }))
             alert.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
             DispatchQueue.main.async(execute: {
                 self.present(alert, animated: true, completion: nil)
@@ -312,8 +319,7 @@ class ReadViewController: UITableViewController {
 
             if m.isEncrypted && !m.unableToDecrypt {
                 messageBody.text = m.decryptedBody
-            }
-            else {
+            } else {
                 messageBody.text = m.body
             }
             // NavigationBar Icon
diff --git a/enzevalos_iphone/de.lproj/Localizable.strings b/enzevalos_iphone/de.lproj/Localizable.strings
index 254f3e25b0121cd7f42bf91cf4c65071fe9487c3..177cbf726c1f43b2981fcee7d831da0d47c91d05 100644
--- a/enzevalos_iphone/de.lproj/Localizable.strings
+++ b/enzevalos_iphone/de.lproj/Localizable.strings
@@ -121,3 +121,5 @@
 "corruptedText" = "Diese E-Mail könnte verändert worden sein! Bitte misstrauen Sie dem Inhalt, falls Sie ihn trotzdem lesen möchten.";
 "corruptedHeadline" = "Achtung!";
 "answer" = "Antworten";
+"couldNotDecryptHeadline" = "Nachricht konnte nicht entschlüsselt werden";
+"couldNotDecryptText" = "Diese Nachricht konnte nicht entschlüsselt werden. Vielleicht hat der Absender den falschen Schlüssel verwendet. Falls du von diesem Absender eine Nachricht erwartest könntest du versuchen auf einem anderen Weg in Verbindung zu treten.";
diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings
index a05adeb056244fb47e6381f0ad0afa383bc20d60..f93dd2782f5293373a391fdac13a0525964d12a5 100644
--- a/enzevalos_iphone/en.lproj/Localizable.strings
+++ b/enzevalos_iphone/en.lproj/Localizable.strings
@@ -120,4 +120,5 @@
 "corruptedText" = "This E-Mail may have been modified! If you want to read it anyways, please be weary of its content.";
 "corruptedHeadline" = "Attention!";
 "answer" = "Answer";
-
+"couldNotDecryptHeadline" = "Could not decrypt Message";
+"couldNotDecryptText" = "It was not possible to decrypt this message. This might be because the sender used the wrong key. If you expect a message from this contact, you could try reaching out on another channel.";