diff --git a/src/Data.cpp b/src/Data.cpp
index 8c03874afa2e80daafda94d1deb34c9be92cb2d0..fa09b2b71d9c75b904ba52aa11904b1ecd1db20a 100644
--- a/src/Data.cpp
+++ b/src/Data.cpp
@@ -7,6 +7,7 @@
 
 #include <dirent.h>
 
+#include <algorithm>
 #include <fstream>
 #include <iomanip>
 #include <sstream>
@@ -340,48 +341,41 @@ void Data::getAllDependenciesToInstall(Config *config,
     for (auto configDependency = config->dependencies_.begin();
             configDependency != config->dependencies_.end(); configDependency++)
     {
-        bool found = false;
-
-        for (auto installedConfig = installedConfigs->begin();
-                installedConfig != installedConfigs->end(); installedConfig++)
-        {
-            if ((*configDependency) == (*installedConfig)->name_)
-            {
-                found = true;
-                break;
-            }
-        }
-
-        if (found)
-            continue;
-
-        // Check if already in vector
-        for (auto dependency = dependencies->begin();
-                dependency != dependencies->end(); dependency++)
-        {
-            if ((*dependency)->name_ == (*configDependency))
-            {
-                found = true;
-                break;
-            }
-        }
+        auto found = std::find_if(installedConfigs->begin(), installedConfigs->end(),
+                [configDependency](const Config* rhs)->bool
+                {
+                    return (*configDependency == rhs->name_);
+                });
 
-        if (found)
+        if (found != installedConfigs->end())
         {
             continue;
         }
         else
         {
-            // Add to vector and check for further subdepends...
-            Config *dependconfig = getDatabaseConfig((*configDependency), config->type_);
-            if (dependconfig == nullptr)
+            found = std::find_if(dependencies->begin(), dependencies->end(),
+                    [configDependency](const Config* rhs)->bool
+                    {
+                        return (*configDependency == rhs->name_);
+                    });
+
+            if (found != dependencies->end())
             {
                 continue;
             }
             else
             {
-                dependencies->push_back(dependconfig);
-                getAllDependenciesToInstall(dependconfig, installedConfigs, dependencies);
+                // Add to vector and check for further subdepends...
+                Config *dependconfig = getDatabaseConfig((*configDependency), config->type_);
+                if (dependconfig == nullptr)
+                {
+                    continue;
+                }
+                else
+                {
+                    dependencies->push_back(dependconfig);
+                    getAllDependenciesToInstall(dependconfig, installedConfigs, dependencies);
+                }
             }
         }
     }