diff --git a/Telegram/SourceFiles/history/history_item.h b/Telegram/SourceFiles/history/history_item.h
index 2da40803a..2e3dc2455 100644
--- a/Telegram/SourceFiles/history/history_item.h
+++ b/Telegram/SourceFiles/history/history_item.h
@@ -119,14 +119,14 @@ struct HistoryMessageViews : public RuntimeComponent<HistoryMessageViews> {
 };
 
 struct HistoryMessageSigned : public RuntimeComponent<HistoryMessageSigned> {
-	void create(UserData *from, const QDateTime &date);
+	void create(UserData *from, const QString &date);
 	int maxWidth() const;
 
 	Text _signature;
 };
 
 struct HistoryMessageEdited : public RuntimeComponent<HistoryMessageEdited> {
-	void create(const QDateTime &editDate, const QDateTime &date);
+	void create(const QDateTime &editDate, const QString &date);
 	int maxWidth() const;
 
 	QDateTime _editDate;
diff --git a/Telegram/SourceFiles/history/history_media_types.cpp b/Telegram/SourceFiles/history/history_media_types.cpp
index c16361e7d..366723fea 100644
--- a/Telegram/SourceFiles/history/history_media_types.cpp
+++ b/Telegram/SourceFiles/history/history_media_types.cpp
@@ -1137,7 +1137,7 @@ void HistoryDocument::initDimensions() {
 
 	if (thumbed) {
 		_minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
-		if (!captioned && _parent->Has<HistoryMessageSigned>()) {
+		if (!captioned && (_parent->Has<HistoryMessageSigned>() || _parent->Has<HistoryMessageEdited>())) {
 			_minh += st::msgDateFont->height - st::msgDateDelta.y();
 		}
 	} else {
diff --git a/Telegram/SourceFiles/history/history_message.cpp b/Telegram/SourceFiles/history/history_message.cpp
index b91e8c735..e1418941b 100644
--- a/Telegram/SourceFiles/history/history_message.cpp
+++ b/Telegram/SourceFiles/history/history_message.cpp
@@ -344,8 +344,8 @@ void HistoryMessageVia::resize(int32 availw) const {
 	}
 }
 
-void HistoryMessageSigned::create(UserData *from, const QDateTime &date) {
-	auto time = qsl(", ") + date.toString(cTimeFormat());
+void HistoryMessageSigned::create(UserData *from, const QString &date) {
+	auto time = qsl(", ") + date;
 	auto name = App::peerName(from);
 	auto timew = st::msgDateFont->width(time);
 	auto namew = st::msgDateFont->width(name);
@@ -359,11 +359,9 @@ int HistoryMessageSigned::maxWidth() const {
 	return _signature.maxWidth();
 }
 
-void HistoryMessageEdited::create(const QDateTime &editDate, const QDateTime &date) {
+void HistoryMessageEdited::create(const QDateTime &editDate, const QString &date) {
 	_editDate = editDate;
-
-	auto time = date.toString(cTimeFormat());
-	_edited.setText(st::msgDateTextStyle, lang(lng_edited) + ' ' + time, _textNameOptions);
+	_edited.setText(st::msgDateTextStyle, lang(lng_edited) + ' ' + date, _textNameOptions);
 }
 
 int HistoryMessageEdited::maxWidth() const {
@@ -865,11 +863,13 @@ void HistoryMessage::createComponents(const CreateConfig &config) {
 	if (auto views = Get<HistoryMessageViews>()) {
 		views->_views = config.viewsCount;
 	}
-	if (auto msgsigned = Get<HistoryMessageSigned>()) {
-		msgsigned->create(_from->asUser(), date);
-	}
 	if (auto edited = Get<HistoryMessageEdited>()) {
-		edited->create(config.editDate, date);
+		edited->create(config.editDate, date.toString(cTimeFormat()));
+		if (auto msgsigned = Get<HistoryMessageSigned>()) {
+			msgsigned->create(_from->asUser(), edited->_edited.originalText());
+		}
+	} else if (auto msgsigned = Get<HistoryMessageSigned>()) {
+		msgsigned->create(_from->asUser(), date.toString(cTimeFormat()));
 	}
 	if (auto forwarded = Get<HistoryMessageForwarded>()) {
 		forwarded->_originalDate = config.originalDate;
@@ -1174,9 +1174,16 @@ void HistoryMessage::applyEdition(const MTPDmessage &message) {
 			if (!Has<HistoryMessageEdited>()) {
 				AddComponents(HistoryMessageEdited::Bit());
 			}
-			Get<HistoryMessageEdited>()->create(::date(message.vedit_date), date);
+			auto edited = Get<HistoryMessageEdited>();
+			edited->create(::date(message.vedit_date), date.toString(cTimeFormat()));
+			if (auto msgsigned = Get<HistoryMessageSigned>()) {
+				msgsigned->create(_from->asUser(), edited->_edited.originalText());
+			}
 		} else if (Has<HistoryMessageEdited>()) {
 			RemoveComponents(HistoryMessageEdited::Bit());
+			if (auto msgsigned = Get<HistoryMessageSigned>()) {
+				msgsigned->create(_from->asUser(), date.toString(cTimeFormat()));
+			}
 		}
 		initTime();
 	}