fix texgen bug 597589
diff --git a/docs/VERSIONS b/docs/VERSIONS
index 44c72ab..5de3d2b 100644
--- a/docs/VERSIONS
+++ b/docs/VERSIONS
@@ -1174,6 +1174,7 @@
 	- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
 	- fixed RGBA blend enable bug (Ville Syrjala)
 	- glAccum is supposed to be a no-op in selection/feedback mode
+	- fixed texgen bug #597589 (John Popplewell)
     Changes:
 	- dropped API trace feature (src/Trace/)
 	- documentation overhaul.  merged with website content.  more html.
diff --git a/src/mesa/tnl/t_vb_texgen.c b/src/mesa/tnl/t_vb_texgen.c
index a9ae9cc..81c3381 100644
--- a/src/mesa/tnl/t_vb_texgen.c
+++ b/src/mesa/tnl/t_vb_texgen.c
@@ -550,9 +550,9 @@
       if (texUnit->TexGenEnabled) {
 	 GLuint sz;
 
-	 if (texUnit->TexGenEnabled & R_BIT)
+	 if (texUnit->TexGenEnabled & Q_BIT)
 	    sz = 4;
-	 else if (texUnit->TexGenEnabled & Q_BIT)
+	 else if (texUnit->TexGenEnabled & R_BIT)
 	    sz = 3;
 	 else if (texUnit->TexGenEnabled & T_BIT)
 	    sz = 2;