diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
index ab0d6e04c42688ce704e5bbe86fd3ed8389e9971..b7b03aa709c0b511fcd0f59cbfe2861684d1f8f3 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjector.java
@@ -53,6 +53,8 @@ import ch.systemsx.cisd.openbis.generic.shared.coreplugin.CorePluginScanner;
  */
 class CorePluginsInjector
 {
+     static final String DELETE_KEY_WORD = "__DELETE__";
+
     private static final String UNALLOWED_PLUGIN_NAME_CHARACTERS = " ,=";
 
     static final String CORE_PLUGINS_FOLDER_KEY = "core-plugins-folder";
@@ -153,7 +155,7 @@ class CorePluginsInjector
                     for (Entry<Object, Object> keyValuePair : pluginProperties.entrySet())
                     {
                         String value = keyValuePair.getValue().toString();
-                        properties.setProperty(pluginName + "." + keyValuePair.getKey(), value);
+                        injectProperty(properties, pluginName + "." + keyValuePair.getKey(), value);
                     }
                 } else
                 {
@@ -164,7 +166,7 @@ class CorePluginsInjector
                         String key = keyValuePair.getKey().toString();
                         if (keysOfKeyLists.contains(key) == false)
                         {
-                            properties.setProperty(key, value);
+                            injectProperty(properties, key, value);
                         }
                     }
                     pluginKeyBundles.add(miscPluginKeyBundles);
@@ -174,6 +176,18 @@ class CorePluginsInjector
         }
         pluginKeyBundles.addOrReplaceKeyBundleIn(properties);
     }
+
+    private void injectProperty(Properties properties, String key, String value)
+    {
+        String property = properties.getProperty(key);
+        if (property != null && property.trim().equals(DELETE_KEY_WORD))
+        {
+            properties.remove(key);
+        } else
+        {
+            properties.setProperty(key, value);
+        }
+    }
     
     private Set<String> getDisabledPlugins(Properties properties)
     {
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
index a818d0e334c7d6736578c8dfebc57f2ced6a9f8c..8ecd54386d6e5e5d9bc2c98866cdc1cc7613d93f 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/CorePluginsInjectorTest.java
@@ -44,6 +44,7 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities;
 import ch.systemsx.cisd.common.logging.ISimpleLogger;
 import ch.systemsx.cisd.common.logging.LogLevel;
 import ch.systemsx.cisd.common.utilities.ExtendedProperties;
+import ch.systemsx.cisd.openbis.dss.generic.shared.Constants;
 
 /**
  * 
@@ -298,6 +299,45 @@ public class CorePluginsInjectorTest extends AbstractFileSystemTestCase
         context.assertIsSatisfied();
     }
     
+    @Test
+    public void testDeletedPropertyForPluginTypeNotMiscellaneous()
+    {
+        File pluginFolder = new File(corePluginsFolder, "screening/1/dss/services/z");
+        pluginFolder.mkdirs();
+        FileUtilities.writeToFile(new File(pluginFolder, PLUGIN_PROPERTIES_FILE_NAME),
+                "alpha = 42\nbeta = 43");
+        Properties properties = createProperties();
+        properties.setProperty("z.beta", CorePluginsInjector.DELETE_KEY_WORD);
+        preparePluginNameLog("screening:services:z [" + pluginFolder + "]");
+        
+        injector.injectCorePlugins(properties);
+
+        assertProperties(corePluginsFolderProperty
+                + Constants.PLUGIN_SERVICES_LIST_KEY + " = z\n"
+                + "z.alpha = 42\n", properties);
+
+        context.assertIsSatisfied();
+    }
+    
+    @Test
+    public void testDeletedPropertyForPluginTypeMiscellaneous()
+    {
+        File pluginFolder = new File(corePluginsFolder, "screening/1/dss/miscellaneous/z");
+        pluginFolder.mkdirs();
+        FileUtilities.writeToFile(new File(pluginFolder, PLUGIN_PROPERTIES_FILE_NAME),
+                "z = 42\nbeta = 43");
+        Properties properties = createProperties();
+        properties.setProperty("beta", CorePluginsInjector.DELETE_KEY_WORD);
+        preparePluginNameLog("screening:miscellaneous:z [" + pluginFolder + "]");
+        
+        injector.injectCorePlugins(properties);
+        
+        assertProperties(corePluginsFolderProperty
+                + "z = 42\n", properties);
+        
+        context.assertIsSatisfied();
+    }
+    
     private void preparePluginNameLog(final String... fullPluginNames)
     {
         context.checking(new Expectations()