diff --git a/Control/StoreGate/CMakeLists.txt b/Control/StoreGate/CMakeLists.txt
index 431493987d4fdecfaf8666c2d614981bf443b42a..8917bfaf452382737eb4f84759ef0235ee648a60 100644
--- a/Control/StoreGate/CMakeLists.txt
+++ b/Control/StoreGate/CMakeLists.txt
@@ -111,10 +111,18 @@ atlas_add_test( ReadHandleKey_test
    SOURCES test/ReadHandleKey_test.cxx
    LINK_LIBRARIES SGtests )
 
+atlas_add_test( WriteHandleKey_test
+   SOURCES test/WriteHandleKey_test.cxx
+   LINK_LIBRARIES SGtests )
+
 atlas_add_test( UpdateHandleKey_test
    SOURCES test/UpdateHandleKey_test.cxx
    LINK_LIBRARIES SGtests )
 
+atlas_add_test( TypelessWriteHandleKey_test
+   SOURCES test/TypelessWriteHandleKey_test.cxx
+   LINK_LIBRARIES SGtests )
+
 atlas_add_test( VarHandleBase_test
    SOURCES test/VarHandleBase_test.cxx
    LINK_LIBRARIES SGtests
@@ -140,6 +148,11 @@ atlas_add_test( UpdateHandle_test
    LINK_LIBRARIES SGtests
    ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
 
+atlas_add_test( TypelessWriteHandle_test
+   SOURCES test/TypelessWriteHandle_test.cxx
+   LINK_LIBRARIES SGtests AthContainers
+   ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
+
 atlas_add_test( DecorKeyHelpers_test
    SOURCES test/DecorKeyHelpers_test.cxx
    LINK_LIBRARIES StoreGateLib )
diff --git a/Control/StoreGate/StoreGate/TypelessWriteHandle.h b/Control/StoreGate/StoreGate/TypelessWriteHandle.h
new file mode 100644
index 0000000000000000000000000000000000000000..9d71f7c428b22686368f99af3f02e32d09ddfcb0
--- /dev/null
+++ b/Control/StoreGate/StoreGate/TypelessWriteHandle.h
@@ -0,0 +1,74 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/TypelessWriteHandle.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Handle allowing writes to the event store with a configurable type.
+ */
+
+
+#ifndef STOREGATE_TYPELESSWRITEHANDLE_H
+#define STOREGATE_TYPELESSWRITEHANDLE_H
+
+
+#include "StoreGate/TypelessWriteHandleKey.h"
+#include "StoreGate/VarHandleBase.h"
+
+
+namespace SG {
+
+
+/**
+ * @brief Handle allowing writes to the event store with a configurable type.
+ *
+ * This is like @c WriteHandle, except that the type to be written is
+ * configurable as a job property.
+ * Accordingly, most of the functionality of @c WriteHandle is not
+ * supported.  One records to the store with a put-like operation
+ * that is passed a @c DataObject.
+ */
+class TypelessWriteHandle
+  : public SG::VarHandleBase
+{
+public:
+  /**
+   * @brief Constructor from a TypelessWriteHandleKey and an explicit event context.
+   * @param key The key object holding the clid/key.
+   * @param ctx The event context.
+   *
+   * This will raise an exception if the StoreGate key is blank,
+   * or if the event store cannot be found.
+   *
+   * If the default event store has been requested, then the thread-specific
+   * store from the event context will be used.
+   */
+  explicit TypelessWriteHandle (const TypelessWriteHandleKey& key,
+                                const EventContext& ctx);
+
+  
+  /**
+   * @brief Can the handle be successfully dereferenced?
+   *
+   * This will always return false.
+   */
+  virtual bool isValid() override final;
+
+
+  /**
+   * @brief Record an object in the store.
+   * @param data The object to record.
+   *
+   * @c data will usually be a @c DataBucket object.
+   * Will fail if there is already an object present with this key.
+   */
+  StatusCode typelessPut (std::unique_ptr<DataObject> data) const;
+};
+
+
+} // namespace SG
+
+
+#endif // not STOREGATE_TYPELESSWRITEHANDLE_H
diff --git a/Control/StoreGate/StoreGate/TypelessWriteHandleKey.h b/Control/StoreGate/StoreGate/TypelessWriteHandleKey.h
new file mode 100644
index 0000000000000000000000000000000000000000..160e0dfb40de1bd3d47a9b51454ff9e94b7cbeb1
--- /dev/null
+++ b/Control/StoreGate/StoreGate/TypelessWriteHandleKey.h
@@ -0,0 +1,107 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/TypelessWriteHandleKey.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Property holding a write key for which the type can be configured.
+ */
+
+
+#ifndef STOREGATE_TYPELESSWRITEHANDLEKEY_H
+#define STOREGATE_TYPELESSWRITEHANDLEKEY_H
+
+
+#include "StoreGate/VarHandleKey.h"
+
+
+namespace SG {
+
+
+/**
+ * @brief Property holding a write key for which the type can be configured.
+ *
+ * This class plays the same role as @c WriteHandleKey, except that the
+ * type of the handle may be changed during configuration.  The value
+ * assigned to this property may be of the form STORE+CLASS/KEY, where
+ * the STORE+ and CLASS/ parts are optional.
+ *
+ * See VarHandleKey for more details.
+ */
+class TypelessWriteHandleKey
+  : public VarHandleKey
+{
+public:
+  /**
+   * @brief Constructor.
+   * @param clid Type of this key.
+   * @param key The StoreGate key for the object.
+   * @param storeName Name to use for the store, if it's not encoded in sgkey.
+   *
+   * The provided key may actually start with the name of the store,
+   * separated by a "+":  "MyStore+Obj".  If no "+" is present
+   * the store named by @c storeName is used.
+   */
+  TypelessWriteHandleKey (CLID clid = CLID_NULL,
+                          const std::string& key = "",
+                          const std::string& storeName = StoreID::storeName(StoreID::EVENT_STORE));
+
+
+  /**
+   * @brief auto-declaring Property constructor.
+   * @param owner Owning component.
+   * @param name name of the Property
+   * @param clid Type of this key.
+   * @param key  Default StoreGate key for the object.
+   * @param doc Documentation string.
+   *
+   * Will associate the named Property with this object via declareProperty.
+   *
+   * The provided key may actually start with the name of the store,
+   * separated by a "+":  "MyStore+Obj".  If no "+" is present
+   * the store named by @c storeName is used.
+   */
+  template <class OWNER, class K,
+            typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type>
+  inline
+  TypelessWriteHandleKey( OWNER* owner,
+                          const std::string& name,
+                          CLID clid = CLID_NULL,
+                          const K& key={},
+                          const std::string& doc="")
+    : TypelessWriteHandleKey(clid, key)
+  {
+    auto p = owner->declareProperty(name, *this, doc);
+    p->template setOwnerType<OWNER>();
+  }
+
+
+  /**
+   * @brief Change the key of the object to which we're referring.
+   * @param sgkey The StoreGate key for the object.
+   * 
+   * The key may have the full form STORE+CLASS/NAME, where the STORE+
+   * and CLASS/ parts are optional.
+   */
+  TypelessWriteHandleKey& operator= (const std::string& sgkey);
+
+
+  /**
+   * @brief Change the key of the object to which we're referring.
+   * @param sgkey The StoreGate key for the object.
+   * 
+   * The key may have the full form STORE+CLASS/NAME, where the STORE+
+   * and CLASS/ parts are optional.
+   *
+   * Returns failure the key string format is bad.
+   */
+  virtual StatusCode assign (const std::string& key) override;
+};
+
+
+} //namespace SG
+
+
+#endif // not STOREGATE_TYPELESSWRITEHANDLEKEY_H
diff --git a/Control/StoreGate/share/TypelessWriteHandleKey_test.ref b/Control/StoreGate/share/TypelessWriteHandleKey_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..7f87f738fe0c7d613b6db7656ebf23bd4eb37298
--- /dev/null
+++ b/Control/StoreGate/share/TypelessWriteHandleKey_test.ref
@@ -0,0 +1,15 @@
+StoreGateSvc/TypelessWriteHandleKey_test
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Wed May  8 18:35:33 2019
+====================================================================================================================================
+ApplicationMgr       INFO Application Manager Configured successfully
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+test1
+ClassIDSvc           INFO  getRegistryEntries: read 702 CLIDRegistry entries for module ALL
+VarHandleKey::assign failure: SG::ExcBadHandleKey: Bad key format for VarHandleKey: `key "BarSvc+ddd/": keys with "/" only allowed for ConditionStore - store is "BarSvc"'
diff --git a/Control/StoreGate/share/TypelessWriteHandle_test.ref b/Control/StoreGate/share/TypelessWriteHandle_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..f2316bab8d65001f66a26c28b5057ab5c61dbdb8
--- /dev/null
+++ b/Control/StoreGate/share/TypelessWriteHandle_test.ref
@@ -0,0 +1,15 @@
+StoreGate/TypelessWriteHandle_test
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Wed May  8 21:47:59 2019
+====================================================================================================================================
+ApplicationMgr       INFO Application Manager Configured successfully
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+test1
+ClassIDSvc           INFO  getRegistryEntries: read 752 CLIDRegistry entries for module ALL
+VarHandle(Store...  ERROR ../src/VarHandleBase.cxx:802 (const void*SG::VarHandleBase::put_impl(const EventContext*, std::unique_ptr<DataObject>, const void*, bool, bool, IProxyDict*&) const): code FAILURE: recordObject failed
diff --git a/Control/StoreGate/src/TypelessWriteHandle.cxx b/Control/StoreGate/src/TypelessWriteHandle.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..b8485179be312e90abec0d795017d6a293488f57
--- /dev/null
+++ b/Control/StoreGate/src/TypelessWriteHandle.cxx
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/src/TypelessWriteHandle.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Handle allowing writes to the event store with a configurable type.
+ */
+
+
+#include "StoreGate/TypelessWriteHandle.h"
+
+
+namespace SG {
+
+
+/**
+ * @brief Constructor from a TypelessWriteHandleKey and an explicit event context.
+ * @param key The key object holding the clid/key.
+ * @param ctx The event context.
+ *
+ * This will raise an exception if the StoreGate key is blank,
+ * or if the event store cannot be found.
+ *
+ * If the default event store has been requested, then the thread-specific
+ * store from the event context will be used.
+ */
+TypelessWriteHandle::TypelessWriteHandle (const TypelessWriteHandleKey& key,
+                                          const EventContext& ctx)
+  : VarHandleBase (key, &ctx)
+{
+}
+
+
+/**
+ * @brief Can the handle be successfully dereferenced?
+ *
+ * This will always return false.
+ */
+bool TypelessWriteHandle::isValid()
+{
+  return false;
+}
+
+
+/**
+ * @brief Record an object in the store.
+ * @param data The object to record.
+ *
+ * @c data will usually be a @c DataBucket object.
+ * Will fail if there is already an object present with this key.
+ */
+StatusCode
+TypelessWriteHandle::typelessPut (std::unique_ptr<DataObject> data) const
+{
+  IProxyDict* store = nullptr;
+  const void* ptr = put_impl (nullptr, // ctx
+                              std::move (data),
+                              data.get(), // dataPtr
+                              false,   // allowMods
+                              false,   // returnExisting,
+                              store);
+  if (ptr != nullptr) {
+    return StatusCode::SUCCESS;
+  }
+  return StatusCode::FAILURE;
+}
+
+
+} // namespace SG
diff --git a/Control/StoreGate/src/TypelessWriteHandleKey.cxx b/Control/StoreGate/src/TypelessWriteHandleKey.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..4b1c06b96fdfc4a0b24d76108bc1945269282f1b
--- /dev/null
+++ b/Control/StoreGate/src/TypelessWriteHandleKey.cxx
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/src/TypelessWriteHandleKey.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Property holding a write key for which the type can be configured.
+ */
+
+
+#include "StoreGate/TypelessWriteHandleKey.h"
+#include "StoreGate/exceptions.h"
+#include "AthenaKernel/IClassIDSvc.h"
+#include "AthenaKernel/errorcheck.h"
+#include "GaudiKernel/ServiceHandle.h"
+
+
+namespace SG {
+
+
+/**
+ * @brief Constructor.
+ * @param clid Type of this key.
+ * @param key The StoreGate key for the object.
+ * @param storeName Name to use for the store, if it's not encoded in sgkey.
+ *
+ * The provided key may actually start with the name of the store,
+ * separated by a "+":  "MyStore+Obj".  If no "+" is present
+ * the store named by @c storeName is used.
+ */
+TypelessWriteHandleKey::TypelessWriteHandleKey (CLID clid,
+                                                const std::string& key /*= ""*/,
+                                                const std::string& storeName /*= "StoreGateSvc"*/)
+  : VarHandleKey (clid, key,
+                  Gaudi::DataHandle::Writer,
+                  storeName)
+{
+}
+
+
+/**
+ * @brief Change the key of the object to which we're referring.
+ * @param sgkey The StoreGate key for the object.
+ * 
+ * The key may have the full form STORE+CLASS/NAME, where the STORE+
+ * and CLASS/ parts are optional.
+ */
+TypelessWriteHandleKey&
+TypelessWriteHandleKey::operator= (const std::string& sgkey)
+{
+  if (assign (sgkey).isFailure()) {
+    throw SG::ExcBadHandleKey (sgkey);
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Change the key of the object to which we're referring.
+ * @param sgkey The StoreGate key for the object.
+ * 
+ * The key may have the full form STORE+CLASS/NAME, where the STORE+
+ * and CLASS/ parts are optional.
+ *
+ * Returns failure the key string format is bad.
+ */
+StatusCode TypelessWriteHandleKey::assign (const std::string& key_in)
+{
+  std::string key = key_in;
+
+  // Handle a possible class name.
+  std::string::size_type islash = key.find ('/');
+  if (islash != std::string::npos) {
+    std::string::size_type istart = key.find ('+');
+    if (istart == std::string::npos) {
+      istart = 0;
+    }
+    else {
+      ++istart;
+    }
+
+    // Excise the class name part from the key.
+    std::string clname = key.substr (istart, islash-istart);
+    key.erase (istart, islash+1-istart);
+
+    // Look up the class name with the CLID service.
+    ServiceHandle<IClassIDSvc> clidsvc ("ClassIDSvc", "TypelessWriteHandleKey");
+    CHECK( clidsvc.retrieve() );
+    CLID clid = CLID_NULL;
+    CHECK( clidsvc->getIDOfTypeName (clname, clid) );
+
+    // Modify the CLID of this key.
+    Gaudi::DataHandle::setKey (DataObjID (clid, objKey()));
+  }
+
+  // Change the key/store.  Class name has been removed from the string
+  // by this point.
+  return VarHandleKey::assign (key);
+}
+
+
+} // namespace SG
diff --git a/Control/StoreGate/src/VarHandleBase.cxx b/Control/StoreGate/src/VarHandleBase.cxx
index cee33ccf8b5e5f59492f8694af72ca8200a9d9d4..a1d8acb6dff6d15d6cc56efd3e265c10095ea29c 100644
--- a/Control/StoreGate/src/VarHandleBase.cxx
+++ b/Control/StoreGate/src/VarHandleBase.cxx
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // VarHandleBase.cxx 
@@ -794,7 +794,7 @@ namespace SG {
       return nullptr;
     }
 
-    SG::DataObjectSharedPtr<DataObject> sptr (dobj.release());
+    SG::DataObjectSharedPtr<DataObject> sptr (std::move (dobj));
     unsigned int initRefCount = sptr->refCount();
     SG::DataProxy* new_proxy = 
       store->recordObject (sptr, this->name(), allowMods, returnExisting);
diff --git a/Control/StoreGate/test/TypelessWriteHandleKey_test.cxx b/Control/StoreGate/test/TypelessWriteHandleKey_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..28f07f81d6aa0d2e523ddb8467d686eb2b5a7410
--- /dev/null
+++ b/Control/StoreGate/test/TypelessWriteHandleKey_test.cxx
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/test/TypelessWriteHandleKey_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Tests for TypelessWriteHandleKey.
+ */
+
+
+#undef NDEBUG
+#include "StoreGate/TypelessWriteHandleKey.h"
+#include "StoreGate/exceptions.h"
+#include "TestTools/initGaudi.h"
+#include "TestTools/expect_exception.h"
+#include <cassert>
+#include <iostream>
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  SG::TypelessWriteHandleKey k1;
+  assert (k1.clid() == CLID_NULL);
+  assert (k1.key() == "");
+  assert (k1.mode() == Gaudi::DataHandle::Writer);
+  assert (k1.storeHandle().name() == "StoreGateSvc");
+
+  SG::TypelessWriteHandleKey k2 (123, "aaa", "FooSvc");
+  assert (k2.clid() == 123);
+  assert (k2.key() == "aaa");
+  assert (k1.mode() == Gaudi::DataHandle::Writer);
+  assert (k2.storeHandle().name() == "FooSvc");
+
+  k2 = "FeeSvc+bbb";
+  assert (k2.clid() == 123);
+  assert (k2.key() == "bbb");
+  assert (k1.mode() == Gaudi::DataHandle::Writer);
+  assert (k2.storeHandle().name() == "FeeSvc");
+
+  k2 = "BarSvc+EventInfo/ccc";
+  assert (k2.clid() == 2101);
+  assert (k2.key() == "ccc");
+  assert (k1.mode() == Gaudi::DataHandle::Writer);
+  assert (k2.storeHandle().name() == "BarSvc");
+
+  EXPECT_EXCEPTION (SG::ExcBadHandleKey,
+                    k2 = "BarSvc+EventInfo/ddd/");
+}
+
+
+int main()
+{
+  std::cout << "StoreGateSvc/TypelessWriteHandleKey_test\n";
+
+  ISvcLocator* pDum;
+  Athena_test::initGaudi(pDum); //need MessageSvc
+
+  test1();
+  return 0;
+}
+
+  
diff --git a/Control/StoreGate/test/TypelessWriteHandle_test.cxx b/Control/StoreGate/test/TypelessWriteHandle_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..4c0697af10988d0ef1bb17af8ab511506a0e8769
--- /dev/null
+++ b/Control/StoreGate/test/TypelessWriteHandle_test.cxx
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file StoreGate/test/TypelessWriteHandle_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date May, 2019
+ * @brief Tests for TypelessWriteHandle.
+ */
+
+
+#undef NDEBUG
+#include "StoreGate/TypelessWriteHandle.h"
+#include "SGTools/TestStore.h"
+#include "TestTools/initGaudi.h"
+#include "AthenaKernel/ExtendedEventContext.h"
+#include "AthenaKernel/CLASS_DEF.h"
+#include <cassert>
+#include <iostream>
+
+
+class MyObj
+{
+public:
+  MyObj(int x=0) : x(x) {}
+  ~MyObj() {} //{ deleted.push_back (x); }
+  //SG::IAuxStore* getStore() const { return nullptr; }
+  //void setStore (SG::IConstAuxStore* store) {aux = dynamic_cast<MyObjAux*>(store); }
+  int x;
+  //MyObjAux* aux {nullptr};
+
+  //static std::vector<int> deleted ATLAS_THREAD_SAFE;
+};
+//std::vector<int> MyObj::deleted;
+CLASS_DEF (MyObj, 293847295, 1)
+static const CLID MyCLID = 293847295;
+
+
+void test1()
+{
+  std::cout << "test1\n";
+  SGTest::TestStore testStore;
+  EventContext ctx;
+  ctx.setExtension( Atlas::ExtendedEventContext(&testStore) );
+
+  SG::TypelessWriteHandleKey k (ClassID_traits<MyObj>::ID(), "foo");
+  assert( k.initialize().isSuccess() );
+  SG::TypelessWriteHandle h (k, ctx);
+
+  auto obj = std::make_unique<MyObj>();
+  std::unique_ptr<DataObject> dobj (SG::asStorable (std::move (obj)));
+  DataObject* dobjptr = dobj.get();
+  assert( h.typelessPut (std::move (dobj)).isSuccess() );
+  SG::DataProxy* foo_proxy = testStore.proxy (ClassID_traits<MyObj>::ID(),
+                                              "foo");
+  assert (foo_proxy->refCount() == 1);
+  assert (foo_proxy->object() == dobjptr);
+
+  auto obj2 = std::make_unique<MyObj>(2);
+  std::unique_ptr<DataObject> dobj2 (SG::asStorable (std::move (obj2)));
+  assert( h.typelessPut (std::move (dobj2)).isFailure() );
+}
+
+
+int main()
+{
+  std::cout << "StoreGate/TypelessWriteHandle_test\n";
+  ISvcLocator* pDum;
+  Athena_test::initGaudi(pDum); //need MessageSvc
+
+  test1();
+  return 0;
+}
diff --git a/Control/StoreGate/test/WriteHandleKey_test.cxx b/Control/StoreGate/test/WriteHandleKey_test.cxx
index 9be874b1423ef1b3baa8bf3529ee6bd3ed24a796..5c558a47612c84e386ef134174f52321611a484b 100644
--- a/Control/StoreGate/test/WriteHandleKey_test.cxx
+++ b/Control/StoreGate/test/WriteHandleKey_test.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id$
@@ -44,7 +44,7 @@ void test1()
   assert (k1.storeHandle().name() == "StoreGateSvc");
   assert (k1.storeHandle().isSet());
 
-  k1 = "FeeSvc/aac";
+  k1 = "FeeSvc+aac";
   assert (k1.clid() == 293847295);
   assert (k1.key() == "aac");
   assert (k1.mode() == Gaudi::DataHandle::Writer);