diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp
index b5093acc26f7b5007404a8487936a510a65c2df2..ef174b7b9ccb380d0182e70ba4c7c9f533505095 100644
--- a/src/plugins/projectexplorer/kitmanager.cpp
+++ b/src/plugins/projectexplorer/kitmanager.cpp
@@ -221,6 +221,7 @@ void KitManager::restoreKits()
 
 KitManager::~KitManager()
 {
+    saveKits(); // Make sure we save the current state on exit!
     // Clean out kit information to avoid calling them during deregistration:
     delete d;
     m_instance = 0;
diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp
index 0177ab1091f93edde8e5e285d3dc9a87a3ece1cb..a40ab26ab7652b1a09a7f198f6e275df2fd9b5e4 100644
--- a/src/plugins/projectexplorer/toolchainmanager.cpp
+++ b/src/plugins/projectexplorer/toolchainmanager.cpp
@@ -203,6 +203,8 @@ void ToolChainManager::restoreToolChains()
 
 ToolChainManager::~ToolChainManager()
 {
+    saveToolChains(); // Make sure to save tool chains when closing
+
     // Deregister tool chains
     QList<ToolChain *> copy = d->toolChains();
     foreach (ToolChain *tc, copy)