diff --git a/src/generic/Plumed.cpp b/src/generic/Plumed.cpp
index ff4b781b8961fd2253f4620087bd1ffc3356a4b2..8ef9df9fd69a100d85304e23a19a3d00223db203 100644
--- a/src/generic/Plumed.cpp
+++ b/src/generic/Plumed.cpp
@@ -207,7 +207,7 @@ p([&]() {
     return PlumedHandle();
   } else {
     log<<"  using the kernel "<<kernel<<"\n";
-    return PlumedHandle::DL(kernel.c_str());
+    return PlumedHandle::dlopen(kernel.c_str());
   }
 }()),
 API([&]() {
diff --git a/src/tools/PlumedHandle.cpp b/src/tools/PlumedHandle.cpp
index 067829070d1e9d46e98bd7f7fb55686608ef5586..7fa45beae0e835c8173e30ed5524d9cae947934f 100644
--- a/src/tools/PlumedHandle.cpp
+++ b/src/tools/PlumedHandle.cpp
@@ -51,7 +51,7 @@ PlumedHandle::PlumedHandle(const char* kernel)
 // Needed on Linux to avoid namespace clashes
   mode |= RTLD_DEEPBIND;
 #endif
-  void* h=dlopen(kernel,mode);
+  void* h=::dlopen(kernel,mode);
 // try to remove the "Kernel" string.
 // needed to load old versions
   if(!h) {
@@ -59,7 +59,7 @@ PlumedHandle::PlumedHandle(const char* kernel)
     auto i=k.rfind("Kernel");
     if(i!=std::string::npos) {
       k=k.substr(0,i) + k.substr(i+6);
-      h=dlopen(k.c_str(),mode);
+      h=::dlopen(k.c_str(),mode);
     }
   }
   plumed_assert(h) << "there was a problem loading kernel "<<kernel <<"\n"<<dlerror();
@@ -122,7 +122,7 @@ PlumedHandle::~PlumedHandle() {
 #endif
 }
 
-PlumedHandle PlumedHandle::DL(const char* path) {
+PlumedHandle PlumedHandle::dlopen(const char* path) {
   return PlumedHandle(path);
 }
 
diff --git a/src/tools/PlumedHandle.h b/src/tools/PlumedHandle.h
index 0a5027e9b8797f2051b2b89d472d8e240a81dbf5..fd090d7f1a8832b10593294d11231f15308a6492 100644
--- a/src/tools/PlumedHandle.h
+++ b/src/tools/PlumedHandle.h
@@ -58,9 +58,9 @@ p.cmd("init");
 
 The following syntax instead creates a handle referring to a loaded kernel
 \verbatim
-PlumedHandle p(PlumedHandle::DL("/path/to/libplumedkernel.so");
+PlumedHandle p(PlumedHandle::dlopen("/path/to/libplumedkernel.so");
 // Alternatively:
-// auto p=PlumedHandle::DL("/path/to/libplumedkernel.so");
+// auto p=PlumedHandle::dlopen("/path/to/libplumedkernel.so");
 p.cmd("init");
 \endverbatim
 
@@ -118,7 +118,7 @@ public:
   PlumedHandle();
 /// Construct a PlumedHandle given the path to a kernel.
 /// It just uses the private constructor PlumedHandle(const char* path).
-  static PlumedHandle DL(const char* path);
+  static PlumedHandle dlopen(const char* path);
 /// Destructor.
 /// In case a kernel was dlopened, it dlcloses it.
 /// I make it virtual for future extensibility, though this is not necessary now.