--- linux-2.4.18-orig/arch/alpha/math-emu/math.c        Fri Sep 22 16:54:09 2000
+++ linux-2.4.18/arch/alpha/math-emu/math.c     Mon Mar 18 18:26:53 2002
@@ -220,12 +220,12 @@
                                FP_CONV(S,D,1,1,SR,DB);
                                goto pack_s;
                        } else {
-                               /* CVTST need do nothing else but copy the
-                                  bits and repack.  */
-                               DR_c = DB_c;
-                               DR_s = DB_s;
-                               DR_e = DB_e;
-                               DR_f = DB_f;
+                               vb = alpha_read_fp_reg_s(fb);
+                               FP_UNPACK_SP(SB, &vb);
+                               DR_c = SB_c;
+                               DR_s = SB_s;
+                               DR_e = SB_e;
+                               DR_f = SB_f << ( 52 - 23 );
                                goto pack_d;
                        }