diff --git a/Unix/CbInput.cpp b/Unix/CbInput.cpp
index 15463188adaef7765fe4b43d9fcac2cbdf74cb28..6771a645e1009c2eb65dffef43370af58a4dd655 100644
--- a/Unix/CbInput.cpp
+++ b/Unix/CbInput.cpp
@@ -1,4 +1,4 @@
-/* $Id: CbInput.cpp,v 1.13 2000-12-22 17:01:39 geuzaine Exp $ */
+/* $Id: CbInput.cpp,v 1.14 2000-12-22 20:08:20 geuzaine Exp $ */
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -459,7 +459,7 @@ void InputCb (Widget w, XtPointer client_data, GLwDrawingAreaCallbackStruct *cb)
       if(Modifier && !ZoomClick){
         Modifier = 0;
 	if(CTX.useTrackball){
-	  CTX.setQuaternion(0.,0.,0.,0.);
+	  CTX.setQuaternion(0.,0.,0.,1.);
 	}
 	else{
 	  set_r(0,0.); set_r(1,0.); set_r(2,0.); 
diff --git a/Unix/CbOptions.cpp b/Unix/CbOptions.cpp
index d97dfff162085b07c32fa4e3c9e332d83a504e3c..27c05d8cb5f13aab19afcad5f2801fd3a96d51dc 100644
--- a/Unix/CbOptions.cpp
+++ b/Unix/CbOptions.cpp
@@ -1,4 +1,4 @@
-/* $Id: CbOptions.cpp,v 1.16 2000-12-22 17:01:39 geuzaine Exp $ */
+/* $Id: CbOptions.cpp,v 1.17 2000-12-22 20:08:20 geuzaine Exp $ */
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -104,13 +104,13 @@ void OptionsCb (Widget w, XtPointer client_data, XtPointer call_data){
     break;
   case OPTIONS_YVIEW : 
     if(CTX.useTrackball)
-      CTX.setQuaternion(1./sqrt(2.),0.,1./sqrt(2.),0.);
+      CTX.setQuaternion(1./sqrt(2.),0.,0.,1./sqrt(2.));
     set_r(0,-90.);set_r(1,0.); set_r(2,0.); 
     Init(); Draw(); 
     break;
   case OPTIONS_ZVIEW :
     if(CTX.useTrackball)
-      CTX.setQuaternion(0.,0.,0.,0.);
+      CTX.setQuaternion(0.,0.,0.,1.);
     set_r(0,0.);  set_r(1,0.); set_r(2,0.); 
     Init(); Draw(); 
     break;