diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp
index b9043731c7ac86aa70107542a7edd2f8ed2d1063..0c6f0bcdcea6ea448ac76a2ba05f74a06a7e0dcb 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp
@@ -14,7 +14,8 @@ SqlSchema_DELETE::SqlSchema_DELETE(void)
 vector<string> SqlSchema_DELETE::getCommand(int sid, const Survey& surv)
 {
    string sidStr     = to_string(sid);
-   string obsCollStr = surv.getObsCollection();// FIXME + to_sqlstring(surv.getObsCollection()); and remove apostrophes below...
+   string obsCollStr = surv.getObsCollection();
+   string obsTitleStr = surv.getObsTitle();
 
    vector<string> vDELETE{
 /*      {"DELETE FROM cubeboundsgalactic WHERE header_id IN (SELECT header_id FROM headers WHERE survey_id = " + sidStr + ")"},
@@ -23,7 +24,7 @@ vector<string> SqlSchema_DELETE::getCommand(int sid, const Survey& surv)
       {"DELETE FROM verticesicrs       WHERE header_id IN (SELECT header_id FROM headers WHERE survey_id = " + sidStr + ")"},
       {"DELETE FROM headers            WHERE survey_id = " + sidStr},
 */
-      {"DELETE FROM obscore WHERE obs_collection LIKE \'" + obsCollStr + "\'"},
+      {"DELETE FROM obscore WHERE obs_collection = \'" + obsCollStr + "\' AND obs_title = \'" + obsTitleStr +  "\'"},
    };
    return vDELETE;
 }
diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp
index 99a01a005cc54377f5fdc1a7ad347aa1f101d126..c6e4c03dc97472ef69874c29e8881ed21cdbd14a 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp
@@ -122,11 +122,13 @@ string Survey::getStorageFilter(void)
 
 string Survey::getObsCollection(void) const
 {
-   return survName +" "+ survSpecies +" "+ survTransition;
+   return survName;
 }
 
-
-
+string Survey::getObsTitle(void) const
+{
+   return survSpecies + " | " + survTransition;
+}
 
 
 
diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp
index a94a9c1d15a418ab9b85f9a8ae915f9a84f52be4..e1b2bc4a7d3e89286fa5c692dbf04d42f72d10ba 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp
@@ -34,6 +34,7 @@ class Survey
 
       std::string getStorageFilter(void);
       std::string getObsCollection(void) const;
+      std::string getObsTitle(void) const;
 
       // table fields
 
diff --git a/data-access/engine/src/vlkb-obscore/src/database/database.cpp b/data-access/engine/src/vlkb-obscore/src/database/database.cpp
index 4a44b776b2b0605f94f3b2031227dc6a06b7154b..de5370e0da01d4897148fcf8d1024b4928ba05c7 100644
--- a/data-access/engine/src/vlkb-obscore/src/database/database.cpp
+++ b/data-access/engine/src/vlkb-obscore/src/database/database.cpp
@@ -315,7 +315,7 @@ void database::dbAddSurvey(int sid, const string groups,
       const string obs_publisher_did = obscore_publisher + "?" + rel_pathname;
 
       // optional
-      const string obs_title{surv.survSpecies + " | " + surv.survTransition};
+      const string obs_title{surv.getObsTitle()};
 
       // 4. set optional values which are available (in header or in metadata)
       try