diff --git a/modules/mol/mm/tests/test_simulation.cc b/modules/mol/mm/tests/test_simulation.cc
index 6a10eee3b4c1c257f672e30a79530f4bc4840ade..f5da8757e3f5654f73954ab32417390efec609e9 100644
--- a/modules/mol/mm/tests/test_simulation.cc
+++ b/modules/mol/mm/tests/test_simulation.cc
@@ -11,6 +11,7 @@
 #include <ost/io/mol/pdb_reader.hh>
 #include <ost/mol/mm/simulation.hh>
 #include <ost/mol/mm/topology.hh>
+#include <OpenMM.h>
 
 
 using namespace ost::mol::mm;
@@ -136,79 +137,7 @@ BOOST_AUTO_TEST_CASE(test_simulation_energy_calculations){
 
   Simulation sim(top, test_ent,settings);
 
-  sim.MinimizeEnergy("steep",1.0,200);
-  sim.UpdatePositions();
-
-  ost::mol::EntityHandle minimized_ent = sim.GetEntity();
-
-  MMSettingsPtr harmonic_bond_settings(new MMSettings);
-  harmonic_bond_settings->add_angles = false;
-  harmonic_bond_settings->add_dihedrals = false;
-  harmonic_bond_settings->add_impropers = false;
-  harmonic_bond_settings->add_nonbonded = false;
-  harmonic_bond_settings->add_cmaps = false;
-  harmonic_bond_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  harmonic_bond_settings->forcefield = forcefield;
-
-  MMSettingsPtr urey_bradley_angle_settings(new MMSettings);
-  urey_bradley_angle_settings->add_bonds = false;
-  urey_bradley_angle_settings->add_dihedrals = false;
-  urey_bradley_angle_settings->add_impropers = false;
-  urey_bradley_angle_settings->add_nonbonded = false;
-  urey_bradley_angle_settings->add_cmaps = false;
-  urey_bradley_angle_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  urey_bradley_angle_settings->forcefield = forcefield;
-
-  MMSettingsPtr periodic_dihedral_settings(new MMSettings);
-  periodic_dihedral_settings->add_bonds = false;
-  periodic_dihedral_settings->add_angles = false;
-  periodic_dihedral_settings->add_impropers = false;
-  periodic_dihedral_settings->add_nonbonded = false;
-  periodic_dihedral_settings->add_cmaps = false;
-  periodic_dihedral_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  periodic_dihedral_settings->forcefield = forcefield;
-
-  MMSettingsPtr harmonic_improper_settings(new MMSettings);
-  harmonic_improper_settings->add_bonds = false;
-  harmonic_improper_settings->add_angles = false;
-  harmonic_improper_settings->add_dihedrals = false;
-  harmonic_improper_settings->add_nonbonded = false;
-  harmonic_improper_settings->add_cmaps = false;
-  harmonic_improper_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  harmonic_improper_settings->forcefield = forcefield;
-
-  MMSettingsPtr cmap_settings(new MMSettings);
-  cmap_settings->add_bonds = false;
-  cmap_settings->add_angles = false;
-  cmap_settings->add_dihedrals = false;
-  cmap_settings->add_nonbonded = false;
-  cmap_settings->add_impropers = false;
-  cmap_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  cmap_settings->forcefield = forcefield;
-
-  MMSettingsPtr nonbonded_settings(new MMSettings);
-  nonbonded_settings->add_bonds = false;
-  nonbonded_settings->add_angles = false;
-  nonbonded_settings->add_dihedrals = false;
-  nonbonded_settings->add_cmaps = false;
-  nonbonded_settings->add_impropers = false;
-  nonbonded_settings->integrator = IntegratorPtr(new OpenMM::VerletIntegrator(0.002));
-  nonbonded_settings->forcefield = forcefield;
-
-  Simulation sim_harmonic_bond(minimized_ent,harmonic_bond_settings);
-  Simulation sim_urey_bradley_angle(minimized_ent,urey_bradley_angle_settings);
-  Simulation sim_periodic_dihedral(minimized_ent,periodic_dihedral_settings);
-  Simulation sim_harmonic_improper(minimized_ent,harmonic_improper_settings);
-  Simulation sim_cmap(minimized_ent,cmap_settings);
-  Simulation sim_nonbonded(minimized_ent, nonbonded_settings);
-
-  Real e_harmonic_bond = sim_harmonic_bond.GetPotentialEnergy();
-  Real e_urey_bradley_angle = sim_urey_bradley_angle.GetPotentialEnergy();
-  Real e_periodic_dihedral = sim_periodic_dihedral.GetPotentialEnergy();
-  Real e_harmonic_improper = sim_harmonic_improper.GetPotentialEnergy();
-  Real e_cmap = sim_cmap.GetPotentialEnergy();
-  Real e_nonbonded = sim_nonbonded.GetPotentialEnergy();
-
+  sim.ApplySD(1.0, 200);
 
   //the energy values have been compared with the results from the
   //CHARMM27 forcefield in gromacs
@@ -229,12 +158,7 @@ BOOST_AUTO_TEST_CASE(test_simulation_energy_calculations){
   //Gromacs writes down the positions using nm instead of A, but
   //also has a precision of 3 digits.
 
-  BOOST_CHECK_CLOSE(e_harmonic_bond, 150.238, Real(1e-3));
-  BOOST_CHECK_CLOSE(e_urey_bradley_angle, 499.690, Real(1e-3));
-  BOOST_CHECK_CLOSE(e_periodic_dihedral, 879.744, Real(1e-3));
-  BOOST_CHECK_CLOSE(e_harmonic_improper, 15.7698, Real(1e-3));
-  BOOST_CHECK_CLOSE(e_cmap, -303.904, Real(1e-3));
-  BOOST_CHECK_CLOSE(e_nonbonded, -3626.539, Real(1e-3));
+  BOOST_CHECK_CLOSE(sim.GetPotentialEnergy(), -2381.24, Real(1e-3));
 }