diff --git a/src/gl_draw.cxx b/src/gl_draw.cxx
index d6284dc7f5414feaf3a89c77a87acc38c844424f..e76a4d9aef9a289f00fe22e1d41fe99da5e40dd7 100644
--- a/src/gl_draw.cxx
+++ b/src/gl_draw.cxx
@@ -430,15 +430,14 @@ void gl_texture_fifo::display_texture(int rank)
   GLfloat pos[4];
   glGetFloatv(GL_CURRENT_RASTER_POSITION, pos);
   CGRect bounds = CGRectMake (pos[0], pos[1] - fl_descent(), fifo[rank].width, fifo[rank].height);
-  glPushAttrib(GL_ENABLE_BIT | GL_TEXTURE_BIT | GL_COLOR_BUFFER_BIT); // GL_COLOR_BUFFER_BIT for glBlendFunc, GL_ENABLE_BIT for glEnable / glDisable
   
+  // GL_COLOR_BUFFER_BIT for glBlendFunc, GL_ENABLE_BIT for glEnable / glDisable
+  glPushAttrib(GL_ENABLE_BIT | GL_TEXTURE_BIT | GL_COLOR_BUFFER_BIT); 
   glDisable (GL_DEPTH_TEST); // ensure text is not removed by depth buffer test.
   glEnable (GL_BLEND); // for text fading
   glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); // ditto
   glEnable (GL_TEXTURE_RECTANGLE_EXT);	
-  
-  GLboolean lighting = glIsEnabled(GL_LIGHTING);
-  if (lighting) glDisable(GL_LIGHTING);
+  glDisable(GL_LIGHTING);
   glBindTexture (GL_TEXTURE_RECTANGLE_EXT, fifo[rank].texName);
   glBegin (GL_QUADS);
   glTexCoord2f (0.0f, 0.0f); // draw lower left in world coordinates
@@ -453,9 +452,8 @@ void gl_texture_fifo::display_texture(int rank)
   glTexCoord2f (fifo[rank].width, 0.0f); // draw lower right in world coordinates
   glVertex2f (bounds.origin.x + bounds.size.width, bounds.origin.y);
   glEnd ();
-  if (lighting) glEnable(GL_LIGHTING);
-
   glPopAttrib();
+  
   // reset original matrices
   glPopMatrix(); // GL_MODELVIEW
   glMatrixMode (GL_PROJECTION);