                                 } else {
                                     if let messageTextView = self?.messageToolbar.messageTextView {
                                         if messageTextView.isFirstResponder() {
-                                            messageTextView.resignFirstResponder()
+                                            self?.messageToolbar.state = .Default
                                             delay(0.45) {
                                                 self?.performSegueWithIdentifier("showMessageMedia", sender: message)
                                             }

                                    })

                                } else {
                                    self?.performSegueWithIdentifier("showMessageMedia", sender: message)
                                }


                            cell.configureWithMessage(message, messageImagePreferredWidth: messageImagePreferredWidth, messageImagePreferredHeight: messageImagePreferredHeight, messageImagePreferredAspectRatio: messageImagePreferredAspectRatio, mediaTapAction: { [weak self] in

                                if message.downloadState == MessageDownloadState.Downloaded.rawValue {

                                    if let messageTextView = self?.messageToolbar.messageTextView {
                                        if messageTextView.isFirstResponder() {
                                            self?.messageToolbar.state = .Default
                                            delay(0.45) {
                                                self?.performSegueWithIdentifier("showMessageMedia", sender: message)
                                            }
                                            return
                                        }
                                    }

                                    self?.performSegueWithIdentifier("showMessageMedia", sender: message)

                                } else {
