diff --git a/Framework/ICat/src/CatalogDownloadDataFiles.cpp b/Framework/ICat/src/CatalogDownloadDataFiles.cpp
index 3016bf20468f3283682c58d7fb1c795b74f01a96..ecebbac206bc9e331949f2ead003064105706380 100644
--- a/Framework/ICat/src/CatalogDownloadDataFiles.cpp
+++ b/Framework/ICat/src/CatalogDownloadDataFiles.cpp
@@ -164,8 +164,10 @@ std::string CatalogDownloadDataFiles::doDownloadandSavetoLocalDrive(
         nullptr, certificateHandler, context);
 
     // Session takes ownership of socket
-    Poco::Net::SecureStreamSocket socket(context);
-    Poco::Net::HTTPSClientSession session(socket);
+    Poco::Net::SecureStreamSocket *socket =
+        new Poco::Net::SecureStreamSocket(context);
+    Poco::Net::HTTPSClientSession session(*socket);
+    socket = nullptr;
     session.setHost(uri.getHost());
     session.setPort(uri.getPort());