diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index 56bb66f1a07d4ee533ebd2a66ca3eed494d295e7..392afa3d49c8f3a50f439d3ffdafe37a4503de82 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -55,6 +55,8 @@ Parameter::Parameter(const vf::basics::ConfigurationFile &configData, int number
     //initLBMSimulationParameter();
 }
 
+Parameter::~Parameter() = default;
+
 void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
 {
    if (configData.contains("NumberOfDevices"))
@@ -2494,7 +2496,7 @@ void Parameter::setUseStreams() {
 
 bool Parameter::getUseStreams() { return this->useStreams; }
 
-std::shared_ptr<CudaStreamManager> &Parameter::getStreamManager() { return this->cudaStreamManager; }
+std::unique_ptr<CudaStreamManager> &Parameter::getStreamManager() { return this->cudaStreamManager; }
 
 void Parameter::findCornerNodesCommMultiGPU() { 
 	for (uint level = 0; level < parH.size(); level++) {
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index 813287d9ccfe4258690e0c07322d885d43b5d9c3..d8832fb71715a7d41d5fe30e1236839a48986fcf 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -327,6 +327,7 @@ class VIRTUALFLUIDS_GPU_EXPORT Parameter
 {
 public:
     Parameter(const vf::basics::ConfigurationFile &configData, int numberOfProcesses, int myId);
+    ~Parameter();
     void initLBMSimulationParameter();
 
     std::shared_ptr<LBMSimulationParameter> getParH(int level);
@@ -856,12 +857,12 @@ private:
 
     // cuda streams
     bool useStreams { false };
-    std::shared_ptr<CudaStreamManager> cudaStreamManager;
+    std::unique_ptr<CudaStreamManager> cudaStreamManager;
 
 public:
     void setUseStreams();
     bool getUseStreams();
-    std::shared_ptr<CudaStreamManager> &getStreamManager();
+    std::unique_ptr<CudaStreamManager> &getStreamManager();
 
     void findCornerNodesCommMultiGPU();
     void findCornerNodesXY(int level);