diff --git a/extensions/kDBDatasets/Datasets.cpp b/extensions/kDBDatasets/Datasets.cpp
index 7354461b3bcd185e4b5d1e370520836aa265eff2..4ef81ba4c2f4fe127172ba243ad7805f729e8ec9 100644
--- a/extensions/kDBDatasets/Datasets.cpp
+++ b/extensions/kDBDatasets/Datasets.cpp
@@ -336,7 +336,8 @@ knowCore::ReturnValue<Dataset> Datasets::dataset(const knowCore::Uri& _datasetUr
   ds.d->definition  = ds_def;
   ds.d->connection  = d->connection;
   KNOWCORE_RETURN_VALUE_TRY(declaration, dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type)));
-  ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration);
+  kDB::Repository::Connection connection = d->connection;
+  ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration);
   return kCrvSuccess(ds);
 }
 
@@ -362,7 +363,8 @@ QList<Dataset> Datasets::all() const
       }
       ds.d->definition  = ds_def;
       kDB::Repository::RDF::FocusNodeDeclaration declaration = dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type)).expectSuccess(); // TODO kDB 5.0 this function should return a ReturnValue<QList...>
-      ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration);
+      kDB::Repository::Connection connection = d->connection;
+      ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration);
       dss.append(ds);
     }
   } else {
@@ -479,7 +481,8 @@ knowCore::ReturnValue<QList<Dataset>> Datasets::datasets(const QList<QPair<knowC
       ds.d->definition  = ds_def;
       ds.d->connection  = d->connection;
       KNOWCORE_RETURN_VALUE_TRY(declaration, dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type)));
-      ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration);
+      kDB::Repository::Connection connection = d->connection;
+      ds.d->object      = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration);
       dss.append(ds);
 
     }
diff --git a/kDB/Repository/Connection.cpp b/kDB/Repository/Connection.cpp
index cfad109f44ea1eac9366a454419c13c192dbc5aa..63de50a00b410908d47240beb55d78449aafe51e 100644
--- a/kDB/Repository/Connection.cpp
+++ b/kDB/Repository/Connection.cpp
@@ -418,7 +418,10 @@ knowCore::ReturnVoid Connection::Private::loadExtensions()
 
 void Connection::increaseSelfPCount()
 {
-  if(d) ++d->self_p_count;
+  if(d)
+  {
+    ++d->self_p_count;
+  }
 }
 
 void Connection::decreaseSelfPCount()