diff --git a/fsl/fsleyes/gl/textures/texture.py b/fsl/fsleyes/gl/textures/texture.py
index 7db3e8e581efcf3b77418c5b8f40fa8fc9dd8e9c..6382c036ad7a437dd21cbaf8e530a37a35416d65 100644
--- a/fsl/fsleyes/gl/textures/texture.py
+++ b/fsl/fsleyes/gl/textures/texture.py
@@ -143,7 +143,7 @@ class Texture(object):
 
         if textureUnit is not None:
             gl.glActiveTexture(textureUnit)
-            gl.glEnable(self.__ttype)
+            
         gl.glBindTexture(self.__ttype, self.__texture)
 
         self.__textureUnit = textureUnit
@@ -154,7 +154,6 @@ class Texture(object):
 
         if self.__textureUnit is not None:
             gl.glActiveTexture(self.__textureUnit)
-            gl.glDisable(self.__ttype)
             
         gl.glBindTexture(self.__ttype, 0)
 
@@ -353,7 +352,8 @@ class Texture2D(Texture):
         self.bindTexture(gl.GL_TEXTURE0)
 
         gl.glClientActiveTexture(gl.GL_TEXTURE0)
-        gl.glEnableClientState(gl.GL_TEXTURE_COORD_ARRAY)
+        gl.glEnable(             gl.GL_TEXTURE_2D)
+        gl.glEnableClientState(  gl.GL_TEXTURE_COORD_ARRAY)
 
         gl.glTexEnvf(gl.GL_TEXTURE_ENV,
                      gl.GL_TEXTURE_ENV_MODE,
@@ -366,6 +366,7 @@ class Texture2D(Texture):
 
         self.unbindTexture()
 
+        gl.glDisable(           gl.GL_TEXTURE_2D)
         gl.glDisableClientState(gl.GL_VERTEX_ARRAY)
         gl.glDisableClientState(gl.GL_TEXTURE_COORD_ARRAY)