diff --git a/Telegram/SourceFiles/mtproto/connection.cpp b/Telegram/SourceFiles/mtproto/connection.cpp
index 3c04d7c26..4aec60677 100644
--- a/Telegram/SourceFiles/mtproto/connection.cpp
+++ b/Telegram/SourceFiles/mtproto/connection.cpp
@@ -1848,9 +1848,14 @@ ConnectionPrivate::HandleResult ConnectionPrivate::handleOneReceived(const mtpPr
 			response.resize(end - from);
 			memcpy(response.data(), from, (end - from) * sizeof(mtpPrime));
 		}
-		if (!sessionData->layerWasInited()) {
-			sessionData->setLayerWasInited(true);
-			sessionData->owner()->notifyLayerInited(true);
+		if (typeId != mtpc_rpc_error) {
+			// An error could be some RPC_CALL_FAIL or other error inside
+			// the initConnection, so we're not sure yet that it was inited.
+			// Wait till a good response is received.
+			if (!sessionData->layerWasInited()) {
+				sessionData->setLayerWasInited(true);
+				sessionData->owner()->notifyLayerInited(true);
+			}
 		}
 
 		auto requestId = wasSent(reqMsgId.v);