diff --git a/Modules/Core/ComponentInterface/include/Interfaces.hxx b/Modules/Core/ComponentInterface/include/Interfaces.hxx
index 930b53b1831ddf75d0437a9371b080a430242272..e5248dd7937b85683caf133ce16f2f215336f2a9 100644
--- a/Modules/Core/ComponentInterface/include/Interfaces.hxx
+++ b/Modules/Core/ComponentInterface/include/Interfaces.hxx
@@ -48,7 +48,7 @@ template<typename FirstInterface, typename ... RestInterfaces>
 ComponentBase::interfaceStatus Accepting<FirstInterface, RestInterfaces... >::ConnectFromImpl(const char * interfacename, ComponentBase* other)
 {
   // does our component have an accepting interface called interfacename? 
-  if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == interfacename)
+  if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == std::string(interfacename))
   {
     // cast always succeeds since we know via the template arguments of the component which InterfaceAcceptors its base classes are.
     InterfaceAcceptor<FirstInterface>* acceptIF = this;
@@ -82,7 +82,7 @@ int Accepting<FirstInterface, RestInterfaces... >::ConnectFromImpl(ComponentBase
 template<typename FirstInterface, typename ... RestInterfaces>
 bool Accepting<FirstInterface, RestInterfaces... >::HasInterface(const char* interfacename)
 {
-  if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == interfacename)
+  if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == std::string(interfacename))
   {
     return true;
   }
@@ -92,7 +92,7 @@ bool Accepting<FirstInterface, RestInterfaces... >::HasInterface(const char* int
 template<typename FirstInterface, typename ... RestInterfaces>
 bool Providing<FirstInterface, RestInterfaces... >::HasInterface(const char* interfacename)
 {
-  if (InterfaceName<FirstInterface>::Get() == interfacename)
+  if (InterfaceName<FirstInterface>::Get() == std::string( interfacename))
   {
     return true;
   }