diff --git a/rpcs3/rpcs3qt/game_compatibility.cpp b/rpcs3/rpcs3qt/game_compatibility.cpp
index 2589ddbad0..c71ed6ef1e 100644
--- a/rpcs3/rpcs3qt/game_compatibility.cpp
+++ b/rpcs3/rpcs3qt/game_compatibility.cpp
@@ -152,7 +152,7 @@ void game_compatibility::RequestCompatibility(bool online)
 	m_progress_timer->start(500);
 
 	// Handle abort
-	connect(m_progress_dialog.get(), &QProgressDialog::rejected, network_reply, &QNetworkReply::abort);
+	connect(m_progress_dialog.get(), &QProgressDialog::canceled, network_reply, &QNetworkReply::abort);
 
 	// Handle progress
 	connect(network_reply, &QNetworkReply::downloadProgress, [&](qint64 bytesReceived, qint64 bytesTotal)
@@ -162,7 +162,7 @@ void game_compatibility::RequestCompatibility(bool online)
 	});
 
 	// Handle response according to its contents
-	connect(network_reply, &QNetworkReply::finished, [=]()
+	connect(network_reply, &QNetworkReply::finished, [&]()
 	{
 		// Clean up Progress Dialog
 		if (m_progress_dialog)
@@ -175,10 +175,16 @@ void game_compatibility::RequestCompatibility(bool online)
 		}
 
 		// Handle Errors
-		if (network_reply->error() != QNetworkReply::NoError)
+		if (network_reply->error() == QNetworkReply::OperationCanceledError)
+		{
+			network_reply->deleteLater();
+			return;
+		}
+		else if (network_reply->error() != QNetworkReply::NoError)
 		{
 			// We failed to retrieve a new database, therefore refresh gamelist to old state
 			QString error = network_reply->errorString();
+			network_reply->deleteLater();
 			Q_EMIT DownloadError(error);
 			LOG_ERROR(GENERAL, "Compatibility error: { Network Error - %s }", sstr(error));
 			return;