diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp
index cf5372e4e..677da9d2d 100644
--- a/Telegram/SourceFiles/app.cpp
+++ b/Telegram/SourceFiles/app.cpp
@@ -1920,6 +1920,8 @@ namespace App {
 	}
 
 	void historyClearMsgs() {
+		::repliesTo.clear();
+
 		QVector<HistoryItem*> toDelete;
 		for (MsgsData::const_iterator i = msgsData.cbegin(), e = msgsData.cend(); i != e; ++i) {
 			if ((*i)->detached()) {
@@ -1945,7 +1947,6 @@ namespace App {
 	}
 
 	void historyClearItems() {
-		historyClearMsgs();
 		randomData.clear();
 		sentData.clear();
 		mutedPeers.clear();
@@ -1991,7 +1992,6 @@ namespace App {
 		::webPageItems.clear();
 		::sharedContactItems.clear();
 		::gifItems.clear();
-		::repliesTo.clear();
 		lastPhotos.clear();
 		lastPhotosMap.clear();
 		::self = 0;
diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp
index c424fcdb2..50f6efafd 100644
--- a/Telegram/SourceFiles/dropdown.cpp
+++ b/Telegram/SourceFiles/dropdown.cpp
@@ -2694,6 +2694,7 @@ void EmojiPan::updateSelected() {
 		if (y >= _iconsTop && y < _iconsTop + st::rbEmoji.height && x >= 0 && x < 7 * st::rbEmoji.width && x < _icons.size() * st::rbEmoji.width) {
 			int32 skip = 0;
 			for (int32 i = 0, l = _icons.size(); i < l; ++i) {
+				if (_icons.at(i).sticker) break;
 				if (x < st::rbEmoji.width) {
 					newOver = i;
 					break;
diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp
index c01d7f6f8..aa2934149 100644
--- a/Telegram/SourceFiles/history.cpp
+++ b/Telegram/SourceFiles/history.cpp
@@ -2290,7 +2290,7 @@ void History::setUnreadCount(int32 newUnreadCount, bool psUpdate) {
 		App::histories().unreadFull += newUnreadCount - unreadCount;
 		if (mute) App::histories().unreadMuted += newUnreadCount - unreadCount;
 		unreadCount = newUnreadCount;
-		if (psUpdate && (!mute || cIncludeMuted())) App::wnd()->updateCounter();
+		if (psUpdate && (!mute || cIncludeMuted()) && App::wnd()) App::wnd()->updateCounter();
 		if (unreadBar) {
 			int32 count = unreadCount;
 			if (peer->migrateTo()) {
diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h
index 6342883df..722d8e358 100644
--- a/Telegram/SourceFiles/history.h
+++ b/Telegram/SourceFiles/history.h
@@ -52,7 +52,6 @@ public:
 	void clear();
 	void remove(const PeerId &peer);
 	~Histories() {
-		clear();
 		unreadFull = unreadMuted = 0;
 	}