diff --git a/patches/gromacs-5.0.7.diff/src/programs/mdrun/md.c b/patches/gromacs-5.0.7.diff/src/programs/mdrun/md.c
index 57f06b074dafbe3f6e7a9607afebb0bf45cb9d54..2d211367e8dad16d3b6b1c21e843fc053f75a60e 100644
--- a/patches/gromacs-5.0.7.diff/src/programs/mdrun/md.c
+++ b/patches/gromacs-5.0.7.diff/src/programs/mdrun/md.c
@@ -1154,6 +1154,8 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[],
             /* PLUMED */
             plumedNeedsEnergy=0;
             if(plumedswitch){
+              int pversion=0;
+              plumed_cmd(plumedmain,"getApiVersion",&pversion);
               long int lstep=step; plumed_cmd(plumedmain,"setStepLong",&lstep);
               plumed_cmd(plumedmain,"setPositions",&state->x[0][0]);
               plumed_cmd(plumedmain,"setMasses",&mdatoms->massT[0]);
@@ -1161,6 +1163,8 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[],
               plumed_cmd(plumedmain,"setBox",&state->box[0][0]);
               plumed_cmd(plumedmain,"prepareCalc",NULL);
               plumed_cmd(plumedmain,"setStopFlag",&plumedWantsToStop);
+              int checkp=0; if(bCPT) checkp=1;
+              if(pversion>3) plumed_cmd(plumedmain,"doCheckPoint",&checkp);
               plumed_cmd(plumedmain,"setForces",&f[0][0]);
               plumed_cmd(plumedmain,"isEnergyNeeded",&plumedNeedsEnergy);
               clear_mat(plumed_vir);