diff --git a/src/pulsaranimationwidget.cpp b/src/pulsaranimationwidget.cpp
index 8242228435d242201abc53ce74aa38d8aa416aba..1497f299ad1718ad5ae490860110debcb4bacd93 100644
--- a/src/pulsaranimationwidget.cpp
+++ b/src/pulsaranimationwidget.cpp
@@ -53,8 +53,8 @@ PulsarAnimationWidget::PulsarAnimationWidget(QWidget *parent) :
     connect(&m_frameTimer, SIGNAL(timeout()), this, SLOT(updateFrame()));
 
     // initialize quadric pointers
-    m_quadricCompanionOrbitPlane = NULL;
-    m_quadricCompanion = NULL;
+    m_quadricVirgoh = NULL;
+    m_quadricVirgov = NULL;
     m_quadricPulsarOrbitPlane = NULL;
     m_quadricPulsar = NULL;
     m_quadricLLOh = NULL;
@@ -78,7 +78,7 @@ PulsarAnimationWidget::PulsarAnimationWidget(QWidget *parent) :
     // initial parameters (have to match GUI!)
     m_LHOAngle = 180;
     m_LLOAngle = -100;
-    m_VirgoAngle = 0;
+    m_VirgoAngle = 165;
 
     m_pulsarRadius = 3.0;
     m_pulsarSpinAxisInclination = 0.0;
@@ -116,8 +116,8 @@ PulsarAnimationWidget::PulsarAnimationWidget(QWidget *parent) :
 
 PulsarAnimationWidget::~PulsarAnimationWidget()
 {
-    if(m_quadricCompanionOrbitPlane) gluDeleteQuadric(m_quadricCompanionOrbitPlane);
-    if(m_quadricCompanion) gluDeleteQuadric(m_quadricCompanion);
+    if(m_quadricVirgoh) gluDeleteQuadric(m_quadricVirgoh);
+    if(m_quadricVirgov) gluDeleteQuadric(m_quadricVirgov);
     if(m_quadricPulsarOrbitPlane) gluDeleteQuadric(m_quadricPulsarOrbitPlane);
     if(m_quadricPulsar) gluDeleteQuadric(m_quadricPulsar);
     if(m_quadricLLOh) gluDeleteQuadric(m_quadricLLOh);
@@ -161,8 +161,8 @@ void PulsarAnimationWidget::initializeGL()
     glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
     glEnable(GL_BLEND);
 
-    m_quadricCompanionOrbitPlane = gluNewQuadric();
-    m_quadricCompanion = gluNewQuadric();
+    m_quadricVirgoh = gluNewQuadric();
+    m_quadricVirgov = gluNewQuadric();
     m_quadricPulsarOrbitPlane = gluNewQuadric();
     m_quadricPulsar = gluNewQuadric();
     m_quadricLLOh = gluNewQuadric();
@@ -172,8 +172,8 @@ void PulsarAnimationWidget::initializeGL()
     m_quadricLHOv = gluNewQuadric();
     m_quadricLHOh = gluNewQuadric();
 
-    gluQuadricNormals(m_quadricCompanionOrbitPlane, GLU_SMOOTH);
-    gluQuadricNormals(m_quadricCompanion, GLU_SMOOTH);
+    gluQuadricNormals(m_quadricVirgoh, GLU_SMOOTH);
+    gluQuadricNormals(m_quadricVirgov, GLU_SMOOTH);
     gluQuadricNormals(m_quadricPulsarOrbitPlane, GLU_SMOOTH);
     gluQuadricNormals(m_quadricPulsar, GLU_SMOOTH);
     gluQuadricNormals(m_quadricLLOh, GLU_SMOOTH);
@@ -358,6 +358,33 @@ void PulsarAnimationWidget::paintGL()
     }
     glPopMatrix();
 
+    // draw Virgo
+    glPushMatrix();
+    {
+        glColor3f(1.0f, 1.0f, 1.0f);
+
+        glRotatef(50, 0.0, 1.0, 0.0);
+        glRotatef(-43, 1.0, 0.0, 0.0);
+        glTranslatef(0.0, 0.0, m_pulsarRadius);
+        glRotatef(m_VirgoAngle, 0.0, 0.0, 1.0);
+        glPushMatrix();
+        {
+            glRotatef(90, 0.0, 1.0, 0.0);
+            gluCylinder(m_quadricVirgoh, 0.010, 0.010, 0.20, 32, 1);
+        }
+        glPopMatrix();
+
+        glPushMatrix();
+        {
+            glRotatef(90, 0.0, 1.0, 0.0);
+            glRotatef(90, 1.0, 0.0, 0.0);
+            glColor3f(0.5f, 1.0f, 0.5f);
+            gluCylinder(m_quadricVirgov, 0.010, 0.010, 0.20, 32, 1);
+        }
+        glPopMatrix();
+    }
+    glPopMatrix();
+
     // draw source
     glPushMatrix();
     {
@@ -620,7 +647,7 @@ void PulsarAnimationWidget::setLLOAngle(const double degrees)
 
 void PulsarAnimationWidget::setVirgoAngle(const int degrees)
 {
-    m_VirgoAngle = degrees;
+    m_VirgoAngle = degrees + 165;
     updatePulseProfile();
 
     updateGL();
diff --git a/src/pulsaranimationwidget.h b/src/pulsaranimationwidget.h
index bbaaf9120294c7445f8d2bf5d963fecf693abccc..9aadbb89087221aa2c0dda8fa943e66509a09195 100644
--- a/src/pulsaranimationwidget.h
+++ b/src/pulsaranimationwidget.h
@@ -90,8 +90,8 @@ private:
 
     QTimer m_frameTimer;
 
-    GLUquadricObj *m_quadricCompanionOrbitPlane;
-    GLUquadricObj *m_quadricCompanion;
+    GLUquadricObj *m_quadricVirgoh;
+    GLUquadricObj *m_quadricVirgov;
     GLUquadricObj *m_quadricPulsarOrbitPlane;
     GLUquadricObj *m_quadricPulsar;
     GLUquadricObj *m_quadricLLOh;
diff --git a/src/pulsatingscience.cpp b/src/pulsatingscience.cpp
index 36bf339e903b4b33fb376730ddddc21c7be75707..776bd8cf791d853b1e2d332fa52ed500ae8ff973 100644
--- a/src/pulsatingscience.cpp
+++ b/src/pulsatingscience.cpp
@@ -216,6 +216,7 @@ void PulsatingScience::on_sliderLLOAngle_valueChanged(int value)
 
 void PulsatingScience::on_sliderVirgoAngle_valueChanged(int value)
 {
+    ui.pulsarGlWidget->setVirgoAngle(value);
     ui.lcdVirgoAngle->display(QString::number(value));
 }