diff -up Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c
--- Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig	2003-02-10 18:22:26.000000000 +0100
+++ Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c	2008-10-06 10:07:46.000000000 +0200
@@ -1087,7 +1087,11 @@ static void NotifyThumb (w, event, param
     Cardinal *num_params;	/* unused */
 {
     register ScrollbarWidget sbw = (ScrollbarWidget) w;
-    float top = sbw->scrollbar.top;
+    union {
+	XtPointer pt;
+	float	  top;
+    } foo;
+    foo.top = sbw->scrollbar.top;
 
 #ifndef XAW_ARROW_SCROLLBARS
     if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */
@@ -1116,10 +1120,10 @@ static void NotifyThumb (w, event, param
     /* Removed the dependancy on scrollbar arrows. Xterm as distributed in
        X11R6.6 by The XFree86 Project wants this correction, with or without
        the arrows. */
-    top += 0.0001;
+    foo.top += 0.0001;
 /* #endif */
-    XtCallCallbacks (w, XtNthumbProc, *(XtPointer*)&top);
-    XtCallCallbacks (w, XtNjumpProc, (XtPointer)&top);
+    XtCallCallbacks (w, XtNthumbProc, foo.pt);
+    XtCallCallbacks (w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top);
 }
 
 
