diff --git a/agui2/src/Algorithm/Registry.cpp b/agui2/src/Algorithm/Registry.cpp
index 8d494604c5c6e8ec4b8396787e32c1115238ac66..15061bef3ff535123f3d3a9954a5fbc6fa2f56ed 100644
--- a/agui2/src/Algorithm/Registry.cpp
+++ b/agui2/src/Algorithm/Registry.cpp
@@ -37,6 +37,10 @@ void Registry::initialize() {
     }
 }
 
+void Registry::deinitialize() {
+    Registry::getInstance().algorithms.clear();
+}
+
 Registry& Registry::getInstance() {
     static Registry instance;
     return instance;
@@ -52,4 +56,4 @@ Algorithm* Registry::getAlgorithm(const std::string& name) {
 
 const std::map<std::string, std::unique_ptr<Algorithm>>& Registry::getAlgorithms() {
     return Registry::getInstance().algorithms;
-}
\ No newline at end of file
+}
diff --git a/agui2/src/Algorithm/Registry.hpp b/agui2/src/Algorithm/Registry.hpp
index 53ce163b4ca5c5e20d4789aa0991c9e3ee5a2146..219c989414a2d586131a866f89302548e11d48e9 100644
--- a/agui2/src/Algorithm/Registry.hpp
+++ b/agui2/src/Algorithm/Registry.hpp
@@ -8,6 +8,7 @@
 class Registry {
 public:
     static void initialize();
+    static void deinitialize();
 
     static Algorithm* getAlgorithm(const std::string& name);
     static const std::map<std::string, std::unique_ptr<Algorithm>>& getAlgorithms();