diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp
index 984630f1b..3e014caf1 100644
--- a/Telegram/SourceFiles/app.cpp
+++ b/Telegram/SourceFiles/app.cpp
@@ -202,7 +202,7 @@ namespace App {
 		globalNotifyAllPtr = UnknownNotifySettings;
 		globalNotifyUsersPtr = UnknownNotifySettings;
 		globalNotifyChatsPtr = UnknownNotifySettings;
-		App::uploader()->clear();
+		if (App::uploader()) App::uploader()->clear();
 		clearStorageImages();
 		if (w) {
 			w->getTitle()->updateBackButton();
diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp
index 06e0f1cfd..1293e86b6 100644
--- a/Telegram/SourceFiles/application.cpp
+++ b/Telegram/SourceFiles/application.cpp
@@ -489,7 +489,7 @@ int32 Application::updatingReady() {
 #endif
 
 FileUploader *Application::uploader() {
-	if (!::uploader) ::uploader = new FileUploader();
+	if (!::uploader && !App::quiting()) ::uploader = new FileUploader();
 	return ::uploader;
 }
 
@@ -878,6 +878,7 @@ void Application::closeApplication() {
 
 Application::~Application() {
 	App::setQuiting();
+
 	window->setParent(0);
 
 	anim::stopManager();
@@ -886,8 +887,10 @@ Application::~Application() {
 	closeApplication();
 	App::deinitMedia();
 	deinitImageLinkManager();
+
 	mainApp = 0;
 	delete ::uploader;
+
 	#ifndef TDESKTOP_DISABLE_AUTOUPDATE
 	delete updateReply;
 	updateReply = 0;
diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp
index 41959d51d..6b772d4f1 100644
--- a/Telegram/SourceFiles/history.cpp
+++ b/Telegram/SourceFiles/history.cpp
@@ -2968,8 +2968,8 @@ void HistoryItem::setId(MsgId newId) {
 
 HistoryItem::~HistoryItem() {
 	App::historyUnregItem(this);
-	if (id < 0) {
-		App::app()->uploader()->cancel(fullId());
+	if (id < 0 && App::uploader()) {
+		App::uploader()->cancel(fullId());
 	}
 }