diff --git a/src/pulsaranimationwidget.cpp b/src/pulsaranimationwidget.cpp
index 4a070e2bf65872cd3f83d2d62d42c9a9c8106c12..77d4d8884076a9e76c7f526d58ae3dd2c76e6651 100644
--- a/src/pulsaranimationwidget.cpp
+++ b/src/pulsaranimationwidget.cpp
@@ -265,113 +265,129 @@ void PulsarAnimationWidget::paintGL()
 
     // draw companion
     glPushMatrix();
-    glTranslatef(sin((m_orbitRotationAngle + 180.0) * deg2rad) * m_companionSemiMajorAxis,
-                 0.0,
-                 cos((m_orbitRotationAngle + 180.0) * deg2rad) * m_companionSemiMajorAxis);
-    gluSphere(m_quadricCompanion, 1.0, 32, 32);
+    {
+        glTranslatef(sin((m_orbitRotationAngle + 180.0) * deg2rad) * m_companionSemiMajorAxis,
+                     0.0,
+                     cos((m_orbitRotationAngle + 180.0) * deg2rad) * m_companionSemiMajorAxis);
+        gluSphere(m_quadricCompanion, 1.0, 32, 32);
+    }
     glPopMatrix();
 
     // draw pulsar
     glPushMatrix();
-    glTranslatef(sin(m_orbitRotationAngle * deg2rad) * m_pulsarSemiMajorAxis,
-                 0.0,
-                 cos(m_orbitRotationAngle * deg2rad) * m_pulsarSemiMajorAxis);
-
-    glPushMatrix();
-    glRotatef(m_pulsarSpinAxisInclination, 0.0, 0.0, 1.0);
-    glRotatef(m_pulsarRotationAngle, 0.0, 1.0, 0.0);
+    {
+        glTranslatef(sin(m_orbitRotationAngle * deg2rad) * m_pulsarSemiMajorAxis,
+                     0.0,
+                     cos(m_orbitRotationAngle * deg2rad) * m_pulsarSemiMajorAxis);
 
-    // draw spin axis
-    if(m_showRotationAxes) {
         glPushMatrix();
-        glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, translucent);
-        glRotatef(90.0, 1.0, 0.0, 0.0);
-        glTranslatef(0.0, 0.0, -5.0);
-        gluCylinder(m_quadricPulsarSpinAxis, 0.05, 0.05, 10.0, 32, 1);
-        glPopMatrix();
-    }
-
-    // create texture coordinates and enable texturing
-    glEnable(GL_TEXTURE_GEN_S);
-    glEnable(GL_TEXTURE_GEN_T);
-    glBindTexture(GL_TEXTURE_2D, m_pulsarTexture);
-    glEnable(GL_TEXTURE_2D);
-
-    glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
-    gluSphere(m_quadricPulsar, 1.0, 32, 32);
+        {
+            glRotatef(m_pulsarSpinAxisInclination, 0.0, 0.0, 1.0);
+            glRotatef(m_pulsarRotationAngle, 0.0, 1.0, 0.0);
+
+            // draw spin axis
+            if(m_showRotationAxes) {
+                glPushMatrix();
+                {
+                    glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, translucent);
+                    glRotatef(90.0, 1.0, 0.0, 0.0);
+                    glTranslatef(0.0, 0.0, -5.0);
+                    gluCylinder(m_quadricPulsarSpinAxis, 0.05, 0.05, 10.0, 32, 1);
+                }
+                glPopMatrix();
+            }
 
-    // disable texturing
-    glDisable(GL_TEXTURE_GEN_S);
-    glDisable(GL_TEXTURE_GEN_T);
-    glDisable(GL_TEXTURE_2D);
-    glPopMatrix();
+            // create texture coordinates and enable texturing
+            glEnable(GL_TEXTURE_GEN_S);
+            glEnable(GL_TEXTURE_GEN_T);
+            glBindTexture(GL_TEXTURE_2D, m_pulsarTexture);
+            glEnable(GL_TEXTURE_2D);
 
-    // TODO: should be located elsewhere
-    static GLfloat coneAmbient[] = {1.0, 1.0, 0.0, 1.0};
-    static GLfloat coneDiffuse[] = {1.0, 1.0, 0.0, 1.0};
-    static GLfloat coneSpecular[] = {1.0, 1.0, 0.5, 1.0};
+            glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
+            glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
+            gluSphere(m_quadricPulsar, 1.0, 32, 32);
 
-    glMaterialfv(GL_FRONT, GL_SPECULAR, coneSpecular);
-
-    // first cone
-    glPushMatrix();
-    glRotatef(90.0, 1.0, 0.0, 0.0);
-    glRotatef(m_pulsarSpinAxisInclination, 0.0, 1.0, 0.0);
+            // disable texturing
+            glDisable(GL_TEXTURE_GEN_S);
+            glDisable(GL_TEXTURE_GEN_T);
+            glDisable(GL_TEXTURE_2D);
+        }
+        glPopMatrix();
 
-    glRotatef(-m_pulsarRotationAngle - 90.0, 0.0, 0.0, 1.0);
-    glRotatef(-m_pulsarMagneticAxisInclination, 1.0, 0.0, 0.0);
+        // TODO: should be located elsewhere
+        static GLfloat coneAmbient[] = {1.0, 1.0, 0.0, 1.0};
+        static GLfloat coneDiffuse[] = {1.0, 1.0, 0.0, 1.0};
+        static GLfloat coneSpecular[] = {1.0, 1.0, 0.5, 1.0};
 
-    // draw magnetic axis (for both cones)
-    if(m_showRotationAxes) {
+        // first cone
         glPushMatrix();
-        glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, translucent);
-        glTranslatef(0.0, 0.0, -5.0);
-        gluCylinder(m_quadricPulsarMagneticAxis, 0.05, 0.05, 10.0, 32, 1);
-        glPopMatrix();
-    }
+        {
+            glRotatef(90.0, 1.0, 0.0, 0.0);
+            glRotatef(m_pulsarSpinAxisInclination, 0.0, 1.0, 0.0);
+
+            glRotatef(-m_pulsarRotationAngle - 90.0, 0.0, 0.0, 1.0);
+            glRotatef(-m_pulsarMagneticAxisInclination, 1.0, 0.0, 0.0);
+
+            // draw magnetic axis (for both cones)
+            if(m_showRotationAxes) {
+                glPushMatrix();
+                {
+                    glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, translucent);
+                    glTranslatef(0.0, 0.0, -5.0);
+                    gluCylinder(m_quadricPulsarMagneticAxis, 0.05, 0.05, 10.0, 32, 1);
+                }
+                glPopMatrix();
+            }
 
-    glTranslatef(0.0, 0.0, -4.0);
+            glTranslatef(0.0, 0.0, -4.0);
 
-    glMaterialfv(GL_FRONT, GL_AMBIENT, coneAmbient);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, coneDiffuse);
-    gluCylinder(m_quadricPulsarCone1, 0.475, 0.0, 3.0, 32, 32);
-    glPopMatrix();
+            glMaterialfv(GL_FRONT, GL_AMBIENT, coneAmbient);
+            glMaterialfv(GL_FRONT, GL_DIFFUSE, coneDiffuse);
+            gluCylinder(m_quadricPulsarCone1, 0.475, 0.0, 3.0, 32, 32);
+        }
+        glPopMatrix();
 
-    // second cone
-    glPushMatrix();
-    glRotatef(-90.0, 1.0, 0.0, 0.0);
-    glRotatef(-m_pulsarSpinAxisInclination, 0.0, 1.0, 0.0);
+        // second cone
+        glPushMatrix();
+        {
+            glRotatef(-90.0, 1.0, 0.0, 0.0);
+            glRotatef(-m_pulsarSpinAxisInclination, 0.0, 1.0, 0.0);
 
-    glRotatef(m_pulsarRotationAngle - 90.0, 0.0, 0.0, 1.0);
-    glRotatef(m_pulsarMagneticAxisInclination, 1.0, 0.0, 0.0);
+            glRotatef(m_pulsarRotationAngle - 90.0, 0.0, 0.0, 1.0);
+            glRotatef(m_pulsarMagneticAxisInclination, 1.0, 0.0, 0.0);
 
-    glTranslatef(0.0, 0.0, -4.0);
+            glTranslatef(0.0, 0.0, -4.0);
 
-    glMaterialfv(GL_FRONT, GL_AMBIENT, coneAmbient);
-    glMaterialfv(GL_FRONT, GL_DIFFUSE, coneDiffuse);
-    gluCylinder(m_quadricPulsarCone2, 0.475, 0.0, 3.0, 32, 32);
-    glPopMatrix();
+            glMaterialfv(GL_FRONT, GL_AMBIENT, coneAmbient);
+            glMaterialfv(GL_FRONT, GL_DIFFUSE, coneDiffuse);
+            gluCylinder(m_quadricPulsarCone2, 0.475, 0.0, 3.0, 32, 32);
+        }
+        glPopMatrix();
+    }
     glPopMatrix();
 
     // save current state
     glMatrixMode(GL_PROJECTION);
     glPushMatrix();
-    glLoadIdentity();
-    glOrtho(0, width(), 0, height(), 0.1, 501.0);
-    glMatrixMode(GL_MODELVIEW);
-    glPushMatrix();
-    glLoadIdentity();
+    {
+        glLoadIdentity();
+        glOrtho(0, width(), 0, height(), 0.1, 501.0);
+        glMatrixMode(GL_MODELVIEW);
+        glPushMatrix();
+        {
+            glLoadIdentity();
 
-    // draw backdrop (independent parallel projection)
-    glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat_specular);
-    glTranslatef(0.0, 0.0, -501.0);
-    drawTexture(QPointF(0.0, 0.0), m_backgroundTexture);
+            // draw backdrop (independent parallel projection)
+            glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat_specular);
+            glTranslatef(0.0, 0.0, -501.0);
+            drawTexture(QPointF(0.0, 0.0), m_backgroundTexture);
 
-    // restore original state
-    glMatrixMode(GL_PROJECTION);
-    glPopMatrix();
-    glMatrixMode(GL_MODELVIEW);
+            // restore original state
+            glMatrixMode(GL_PROJECTION);
+        }
+        glPopMatrix();
+        glMatrixMode(GL_MODELVIEW);
+    }
     glPopMatrix();
 
     // draw orbital planes
@@ -383,29 +399,33 @@ void PulsarAnimationWidget::paintGL()
         // companion's plane (only if not identical with pulsar's)
         if(m_companionSemiMajorAxis != m_pulsarSemiMajorAxis) {
             glPushMatrix();
-            glRotatef(90.0, 1.0, 0.0, 0.0);
-
-            // separate them slightly in case of overlap
-            // based on ugly mass diff check (no collision detection)
-            // single known problematic pair: (m_c=1.4, m_p=1.5)
-            if((int)(10*(m_pulsarMass-m_companionMass)+0.5) == 1){
-                glTranslatef(0.0, 0.0, 0.01);
+            {
+                glRotatef(90.0, 1.0, 0.0, 0.0);
+
+                // separate them slightly in case of overlap
+                // based on ugly mass diff check (no collision detection)
+                // single known problematic pair: (m_c=1.4, m_p=1.5)
+                if((int)(10*(m_pulsarMass-m_companionMass)+0.5) == 1){
+                    glTranslatef(0.0, 0.0, 0.01);
+                }
+
+                gluDisk(m_quadricCompanionOrbitPlane,
+                        m_companionSemiMajorAxis - sizeOffset,
+                        m_companionSemiMajorAxis + sizeOffset,
+                        64, 1);
             }
-
-            gluDisk(m_quadricCompanionOrbitPlane,
-                    m_companionSemiMajorAxis - sizeOffset,
-                    m_companionSemiMajorAxis + sizeOffset,
-                    64, 1);
             glPopMatrix();
         }
 
         // pulsar's plane
         glPushMatrix();
-        glRotatef(90.0, 1.0, 0.0, 0.0);
-        gluDisk(m_quadricPulsarOrbitPlane,
-                m_pulsarSemiMajorAxis - sizeOffset,
-                m_pulsarSemiMajorAxis + sizeOffset,
-                64, 1);
+        {
+            glRotatef(90.0, 1.0, 0.0, 0.0);
+            gluDisk(m_quadricPulsarOrbitPlane,
+                    m_pulsarSemiMajorAxis - sizeOffset,
+                    m_pulsarSemiMajorAxis + sizeOffset,
+                    64, 1);
+        }
         glPopMatrix();
     }
 }