diff --git a/modelling/pymod/export_monte_carlo.cc b/modelling/pymod/export_monte_carlo.cc
index 7d296ccf9550ec7db9ebf53c06aa4e4792370e0f..5935c7534efd62b055bf57da7252e4f038685976 100644
--- a/modelling/pymod/export_monte_carlo.cc
+++ b/modelling/pymod/export_monte_carlo.cc
@@ -236,31 +236,6 @@ LinearScorerPtr LinearScorerInitWrapper(scoring::BackboneOverallScorerPtr scorer
   return p;
 }
 
-void MonteCarloWithoutRelaxer(MonteCarloSamplerPtr sampler,
-                              MonteCarloCloserPtr closer,
-                              MonteCarloScorerPtr scorer,
-                              MonteCarloCoolerPtr cooler,
-                              uint steps, loop::BackboneList& backbone_list, 
-                              bool initialize, uint seed,
-                              bool lowest_energy_conformation) {
-  SampleMonteCarlo(sampler, closer, scorer, cooler, steps, backbone_list,
-                   initialize, seed, lowest_energy_conformation);
-}
-
-void MonteCarloWithRelaxer(MonteCarloSamplerPtr sampler,
-                           MonteCarloCloserPtr closer,
-                           MonteCarloScorerPtr scorer,
-                           MonteCarloCoolerPtr cooler,
-                           uint steps, loop::BackboneList& backbone_list, 
-                           BackboneRelaxerPtr relaxer, uint relaxer_frequency, 
-                           uint relaxer_steps, bool initialize, uint seed,
-                           bool lowest_energy_conformation) {
-  SampleMonteCarlo(sampler, closer, scorer, cooler, steps, backbone_list,
-                   relaxer, relaxer_frequency, relaxer_steps, initialize,
-                   seed, lowest_energy_conformation);
-}
-
-
 }
 
 void export_monte_carlo() {
@@ -359,16 +334,8 @@ void export_monte_carlo() {
   register_ptr_to_python<MonteCarloCloserPtr>();
 
   // export monte carlo sampler
-  def("SampleMonteCarlo", &MonteCarloWithoutRelaxer,
+  def("SampleMonteCarlo", &SampleMonteCarlo,
       (arg("sampler"), arg("closer"), arg("scorer"), arg("cooler"),
        arg("steps"), arg("backbone"), arg("initialize")=true, arg("seed")=0,
        arg("lowest_energy_conformation")=true));
-
-  def("SampleMonteCarlo", &MonteCarloWithRelaxer,
-      (arg("sampler"), arg("closer"), arg("scorer"), arg("cooler"),
-       arg("steps"), arg("backbone"), arg("backbone_relaxer"),
-       arg("relaxer_frequency"), arg("relaxer_steps"), arg("initialize")=true,
-       arg("seed")=0, arg("lowest_energy_conformation")=true));
-
-
 }
diff --git a/modelling/src/monte_carlo.cc b/modelling/src/monte_carlo.cc
index 374fb05206799ba3106d26b95c173f8e018d4039..dab1adef2b9248065f687d1fbe60cff20afac5df 100644
--- a/modelling/src/monte_carlo.cc
+++ b/modelling/src/monte_carlo.cc
@@ -63,72 +63,5 @@ void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
   if (lowest_energy_conformation) positions = min_score_bb_list;
 }
 
-void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
-                      MonteCarloScorerPtr scorer, MonteCarloCoolerPtr cooler,
-                      uint steps, loop::BackboneList& positions,
-                      BackboneRelaxerPtr relaxer, uint relaxer_frequency,
-                      uint relaxer_steps, bool initialize, uint seed,
-                      bool lowest_energy_conformation) {
-
-  loop::BackboneList proposed_positions;
-
-  boost::mt19937 rgen(seed);
-  boost::uniform_01<boost::mt19937> zeroone(rgen);
-
-  Real score, new_score, temperature;
-
-  if (initialize) {
-    //try to initialize 
-    bool initialized = false;
-    for (int i = 0; i < 100; ++i) {
-      sampler->Initialize(positions);
-      if (closer->Close(positions, positions)) {
-        initialized = true;
-        break;
-      }
-    }
-    if (!initialized) {
-      throw promod3::Error("Failed to initialize monte carlo sampling protocol!");
-    }
-  }
-
-  score = scorer->GetScore(positions);
-  bool closed = false;
-
-  uint successful_steps = 0;
-  Real min_score = score;
-  loop::BackboneList min_score_bb_list = positions;
-
-  for (uint i = 0; i < steps; ++i) {
-    //try several proposals!
-    closed = false;
-    for (int j = 0; j < 3; ++j) {
-      sampler->ProposeStep(positions, proposed_positions);
-      if (closer->Close(proposed_positions, proposed_positions)) {
-        closed = true;
-        break;
-      }
-    }
-    if (!closed) continue;
-    temperature = cooler->GetTemperature();
-    new_score = scorer->GetScore(proposed_positions);
-    if (std::exp(-(new_score-score)/temperature) > zeroone()) {
-      positions.swap(proposed_positions);
-      score = new_score;
-      ++successful_steps;
-      if (successful_steps % relaxer_frequency == 0) {
-        relaxer->Run(positions, relaxer_steps);
-      }
-      if (lowest_energy_conformation && score < min_score) {
-        min_score = score;
-        min_score_bb_list = positions;
-      }
-    }
-  }
-
-  // update return value if needed
-  if (lowest_energy_conformation) positions = min_score_bb_list;
-}
-
 }}//ns
 
diff --git a/modelling/src/monte_carlo.hh b/modelling/src/monte_carlo.hh
index 8f6d82c32d13329b191fe0001573dfd4c291a21c..d25464b12dc9fdc0eaf5d78bcfc8256eed627329 100644
--- a/modelling/src/monte_carlo.hh
+++ b/modelling/src/monte_carlo.hh
@@ -18,14 +18,6 @@ namespace promod3 { namespace modelling {
                         uint steps, loop::BackboneList& backbone_list,
                         bool initialize = true, uint seed = 0,
                         bool lowest_energy_conformation = true);
-
-  void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
-                        MonteCarloScorerPtr scorer, MonteCarloCoolerPtr cooler,
-                        uint steps, loop::BackboneList& backbone_list,
-                        BackboneRelaxerPtr relaxer, uint relaxer_frequency,
-                        uint relaxer_steps, bool initialize = true, uint seed = 0,
-                        bool lowest_energy_conformation = true);
-
 }}
 
 #endif