Index: src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.cpp
===================================================================
--- src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.cpp	(revision 6e8ef5677fb6f9792ffd7729da8e9504c959816a)
+++ src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.cpp	(revision b8463f9359f589186af2a8ff5c8cd1b7e2510ed9)
@@ -62,25 +62,25 @@
   }
 
+  // check whether Axis is valid
+  if (params.Axis.get().IsZero()) {
+    STATUS("Rotation Axis must not be zero.");
+    return Action::failure;
+  }
+
+  // convert from degrees to radian
+  const double angle_radian = params.angle.get() * M_PI/180.;
+
   // go through all selected molecules
   BOOST_FOREACH(molecule *mol, selectedMolecules) {
-    // check whether Axis is valid
-    if (params.Axis.get().IsZero()) {
-      STATUS("Rotation Axis must not be zero.");
-      return Action::failure;
-    }
-
-    // convert from degrees to radian
-    params.angle.set(params.angle.get() * M_PI/180.);
-
     // Creation Line that is the rotation axis
     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
-    LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
+    LOG(3, "DEBUG: Center of gravity is " << CenterOfGravity << ".");
     Line RotationAxis(CenterOfGravity, params.Axis.get());
-    LOG(0, "Rotate " << mol->getName() << " around self by " << params.angle.get() << " radian around axis " << RotationAxis << ".");
+    LOG(2, "DEBUG: Rotate " << mol->getName() << " around self by " << angle_radian << " radian around axis " << RotationAxis << ".");
 
     for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter) {
-      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), params.angle.get()));
+      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), angle_radian));
     }
-    LOG(0, "done.");
+    LOG(2, "DEBUG: Rotatating of " << mol->getName() << " done.");
   }
 
@@ -91,13 +91,15 @@
   MoleculeRotateAroundSelfByAngleState *state = assert_cast<MoleculeRotateAroundSelfByAngleState*>(_state.get());
 
+  // convert from degrees to radian
+  const double angle_radian = -state->params.angle.get() * M_PI/180.;
+
   BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
     LOG(0,  "Center of gravity is " <<CenterOfGravity << ".");
     Line RotationAxis(CenterOfGravity, state->params.Axis.get());
-    LOG(0, "Rotate " << mol->getName() << " around self by " << -state->params.angle.get() << " radian around axis " << RotationAxis << ".");
+    LOG(0, "Rotate " << mol->getName() << " around self by " << angle_radian << " radian around axis " << RotationAxis << ".");
 
-    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter) {
-      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), -state->params.angle.get()));
-    }
+    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter)
+      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), angle_radian));
   }
 
@@ -108,13 +110,15 @@
   MoleculeRotateAroundSelfByAngleState *state = assert_cast<MoleculeRotateAroundSelfByAngleState*>(_state.get());
 
+  // convert from degrees to radian
+  const double angle_radian = state->params.angle.get() * M_PI/180.;
+
   BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
     LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
     Line RotationAxis(CenterOfGravity, state->params.Axis.get());
-    LOG(0, "Rotate " << mol->getName() << " around self by " << state->params.angle.get() << " radian around axis " << RotationAxis << ".");
+    LOG(0, "Rotate " << mol->getName() << " around self by " << angle_radian << " radian around axis " << RotationAxis << ".");
 
-    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter) {
-      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), state->params.angle.get()));
-    }
+    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter)
+      (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), angle_radian));
   }
 
