Index: src/Actions/AtomAction/SaturateAction.cpp
===================================================================
--- src/Actions/AtomAction/SaturateAction.cpp	(revision cdac1dec22b8e27ee050f890677c8946a0ac6c71)
+++ src/Actions/AtomAction/SaturateAction.cpp	(revision 19bfb56751e6ad49d20e3a82c227ef0239eaa900)
@@ -84,34 +84,34 @@
     // check for any bonds and get vacant positions
     SphericalPointDistribution::Polygon_t vacant_positions;
-    const BondList& ListOfBonds = _atom->getListOfBonds();
-    SphericalPointDistribution PointSphere(typical_distance);
-    if (ListOfBonds.size() == 0) {
-      vacant_positions = PointSphere.getSimplePolygon(_atom->getType()->getNoValenceOrbitals());
-      LOG(3, "DEBUG: Using ideal positions as " << vacant_positions);
-    } else {
-      // get ideal polygon and currently occupied positions
-      const SphericalPointDistribution::Polygon_t ideal_positions =
-          PointSphere.getSimplePolygon(_atom->getType()->getNoValenceOrbitals());
-      LOG(3, "DEBUG: ideal positions are " << ideal_positions);
-      SphericalPointDistribution::Polygon_t current_positions;
-      for (BondList::const_iterator bonditer = ListOfBonds.begin();
-          bonditer != ListOfBonds.end(); ++bonditer) {
-        const Vector position =
-            (*bonditer)->GetOtherAtom(_atom)->getPosition().getVectorToPoint(_atom->getPosition());
-        current_positions.push_back((1./position.Norm())*position);
-      }
-      LOG(3, "DEBUG: current occupied positions are " << current_positions);
-
-      // find the best matching rotated polygon
-      vacant_positions = SphericalPointDistribution::matchSphericalPointDistributions(
-          current_positions,
-          ideal_positions);
-      LOG(3, "DEBUG: Resulting vacant positions are " << vacant_positions);
-
-      // scale vacant positions to typical_distance
-      std::for_each(
-          vacant_positions.begin(), vacant_positions.end(),
-          boost::bind(&Vector::Scale, _1, boost::cref(typical_distance)));
-    }
+//    const BondList& ListOfBonds = _atom->getListOfBonds();
+//    SphericalPointDistribution PointSphere(typical_distance);
+//    if (ListOfBonds.size() == 0) {
+//      vacant_positions = PointSphere.getSimplePolygon(_atom->getType()->getNoValenceOrbitals());
+//      LOG(3, "DEBUG: Using ideal positions as " << vacant_positions);
+//    } else {
+//      // get ideal polygon and currently occupied positions
+//      const SphericalPointDistribution::Polygon_t ideal_positions =
+//          PointSphere.getSimplePolygon(_atom->getType()->getNoValenceOrbitals());
+//      LOG(3, "DEBUG: ideal positions are " << ideal_positions);
+//      SphericalPointDistribution::Polygon_t current_positions;
+//      for (BondList::const_iterator bonditer = ListOfBonds.begin();
+//          bonditer != ListOfBonds.end(); ++bonditer) {
+//        const Vector position =
+//            (*bonditer)->GetOtherAtom(_atom)->getPosition().getVectorToPoint(_atom->getPosition());
+//        current_positions.push_back((1./position.Norm())*position);
+//      }
+//      LOG(3, "DEBUG: current occupied positions are " << current_positions);
+//
+//      // find the best matching rotated polygon
+//      vacant_positions = SphericalPointDistribution::matchSphericalPointDistributions(
+//          current_positions,
+//          ideal_positions);
+//      LOG(3, "DEBUG: Resulting vacant positions are " << vacant_positions);
+//
+//      // scale vacant positions to typical_distance
+//      std::for_each(
+//          vacant_positions.begin(), vacant_positions.end(),
+//          boost::bind(&Vector::Scale, _1, boost::cref(typical_distance)));
+//    }
 
     // add the hydrogens
Index: src/Fragmentation/Exporters/SphericalPointDistribution.cpp
===================================================================
--- src/Fragmentation/Exporters/SphericalPointDistribution.cpp	(revision cdac1dec22b8e27ee050f890677c8946a0ac6c71)
+++ src/Fragmentation/Exporters/SphericalPointDistribution.cpp	(revision 19bfb56751e6ad49d20e3a82c227ef0239eaa900)
@@ -308,12 +308,16 @@
       }
     }
+    LOG(3, "INFO: (x,y,z) angles are" << angles);
     const Line RotationAxis(zeroVec, newCenter);
     const double RotationAngle =
         newCenter.Angle(remainingold[0])
         - newCenter.Angle(remainingnew[*MCS.bestmatching.begin()]);
+    LOG(3, "INFO: Rotate around self is " << RotationAngle
+        << " around axis " << RotationAxis);
 
     // rotate _newpolygon
     SphericalPointDistribution::Polygon_t rotated_newpolygon =
         rotatePolygon(_newpolygon, angles, RotationAxis, RotationAngle);
+    LOG(3, "INFO: Rotated new polygon is " << rotated_newpolygon);
 
     // remove all returnpolygon in matching and return remaining ones
@@ -322,60 +326,2 @@
     return _newpolygon;
 }
-
-SphericalPointDistribution::Polygon_t
-SphericalPointDistribution::getSimplePolygon(const int _NumberOfPoints) const
-{
-  Polygon_t returnpolygon;
-
-	switch (_NumberOfPoints)
-	{
-	  case 0:
-	    returnpolygon = get<0>();
-	    break;
-	  case 1:
-	    returnpolygon = get<1>();
-	    break;
-	  case 2:
-	    returnpolygon = get<2>();
-	    break;
-	  case 3:
-	    returnpolygon = get<3>();
-	    break;
-	  case 4:
-	    returnpolygon = get<4>();
-	    break;
-	  case 5:
-	    returnpolygon = get<5>();
-	    break;
-	  case 6:
-	    returnpolygon = get<6>();
-	    break;
-	  case 7:
-	    returnpolygon = get<7>();
-	    break;
-	  case 8:
-	    returnpolygon = get<8>();
-	    break;
-	  case 9:
-	    returnpolygon = get<9>();
-	    break;
-	  case 10:
-	    returnpolygon = get<10>();
-	    break;
-	  case 11:
-	    returnpolygon = get<11>();
-	    break;
-	  case 12:
-	    returnpolygon = get<12>();
-	    break;
-	  case 14:
-	    returnpolygon = get<14>();
-	    break;
-	  default:
-	    ASSERT(0, "SphericalPointDistribution::initSelf() - cannot deal with the case "
-	        +toString(_NumberOfPoints)+".");
-	}
-
-	return returnpolygon;
-}
-
Index: src/Fragmentation/Exporters/SphericalPointDistribution.hpp
===================================================================
--- src/Fragmentation/Exporters/SphericalPointDistribution.hpp	(revision cdac1dec22b8e27ee050f890677c8946a0ac6c71)
+++ src/Fragmentation/Exporters/SphericalPointDistribution.hpp	(revision 19bfb56751e6ad49d20e3a82c227ef0239eaa900)
@@ -56,10 +56,4 @@
   }
 
-  /** Initializes the polygon with the given \a _NumberOfPoints.
-   *
-   * \param _NumberOfPoints number of points
-   */
-  Polygon_t getSimplePolygon(const int _NumberOfPoints) const;
-
   /** Matches a given spherical distribution with another containing more
    * points.
