diff --git a/src/USER-PLUMED/fix_plumed.cpp b/src/USER-PLUMED/fix_plumed.cpp
index 1b05477e385313d52a657e0d0288e929a2154ec7..00a899724b34612cf36373f5e3c937975492bcb3 100644
--- a/src/USER-PLUMED/fix_plumed.cpp
+++ b/src/USER-PLUMED/fix_plumed.cpp
@@ -16,6 +16,29 @@
 #include "modify.h"
 #include "pair.h"
 
+/*
+  Do not link plumed directly but rather do it at runtime
+*/
+#define __PLUMED_WRAPPER_LINK_RUNTIME 1
+
+/*
+  Make sure the inline C++ interface is not included here.
+  Should not be necessary, but it doesn't hurt.
+*/
+#define __PLUMED_WRAPPER_CXX 0
+
+/*
+  Tell Plumed.h to emit the whole implementation
+*/
+#define __PLUMED_WRAPPER_IMPLEMENTATION 1
+
+/*
+  Emit fortran wrappers
+*/
+#define __PLUMED_WRAPPER_FORTRAN 1
+
+#include "Plumed.h"
+
 using namespace LAMMPS_NS;
 using namespace PLMD;
 using namespace FixConst;