diff --git a/lib/remote/apiclient.cpp b/lib/remote/apiclient.cpp index f704074d3..e28148ff4 100644 --- a/lib/remote/apiclient.cpp +++ b/lib/remote/apiclient.cpp @@ -260,6 +260,9 @@ Value RequestCertificateHandler(const MessageOrigin& origin, const Dictionary::P void ApiClient::TimeoutTimerHandler(void) { if (m_Seen < Utility::GetTime() - 60) { + /* Obtain a strong reference to ourselves because Disconnect otherwise removes the last reference */ + ApiClient::Ptr self = this; + Log(LogInformation, "ApiClient") << "No messages for identity '" << m_Identity << "' have been received in the last 60 seconds."; Disconnect();