diff --git a/src/pulsaranimationwidget.cpp b/src/pulsaranimationwidget.cpp
index 5db703e7093cd577e122bbb65a2830de955d6fa4..67998f3d33df2c432df9c38256db0360c4a681ea 100644
--- a/src/pulsaranimationwidget.cpp
+++ b/src/pulsaranimationwidget.cpp
@@ -255,7 +255,7 @@ void PulsarAnimationWidget::updateCameraPosition(const int angleH, const int ang
 
 	m_cameraPosX = sin(angleH * deg2rad) * zoom;
 	m_cameraPosY = sin(angleV * deg2rad) * zoom;
-	m_cameraPosZ = cos(angleH * deg2rad) * cos(abs(angleV * deg2rad)) * zoom;
+	m_cameraPosZ = cos(angleH * deg2rad) * cos(fabs(angleV * deg2rad)) * zoom;
 
 	updateGL();
 }
@@ -267,7 +267,7 @@ void PulsarAnimationWidget::setFramePerSecond(const unsigned int fps)
 
 void PulsarAnimationWidget::setPulsarSpinFrequency(const float frequency)
 {
-	m_pulsarSpinFrequency = (unsigned int) (1000 / (frequency * 360.0f));
+	m_pulsarSpinFrequency = (unsigned int) (1000 / (frequency * 360.0f) + 0.5f);
 	m_pulsarSpinTimer.setInterval(m_pulsarSpinFrequency);
 }
 
@@ -279,6 +279,6 @@ void PulsarAnimationWidget::setOrbitRadius(const float radius)
 
 void PulsarAnimationWidget::setOrbitFrequency(const float frequency)
 {
-	m_orbitFrequency = (unsigned int) (1000 / (frequency * 360.0f));
+	m_orbitFrequency = (unsigned int) (1000 / (frequency * 360.0f) + 0.5f);
 	m_orbitTimer.setInterval(m_orbitFrequency);
 }