diff --git a/controls/scroll.c b/controls/scroll.c
index 1f30bee..11b8e20 100644
--- a/controls/scroll.c
+++ b/controls/scroll.c
@@ -340,9 +340,6 @@
                                  BOOL bottom_selected )
 {
     RECT r;
-    WND *wndPtr = WIN_FindWndPtr( hwnd );
-    if (((nBar == SB_VERT) && !(wndPtr->dwStyle & WS_VSCROLL))
-        || ((nBar == SB_HORZ) && (!wndPtr->dwStyle & WS_HSCROLL))) return;
 
       /* Select the correct brush and pen */
 
@@ -440,9 +437,13 @@
     WORD arrowSize, thumbPos;
     RECT rect;
     BOOL vertical;
-
+    WND *wndPtr = WIN_FindWndPtr( hwnd );
     SCROLLINFO *infoPtr = SCROLL_GetScrollInfo( hwnd, nBar );
-    if (!infoPtr) return;
+
+    if (!wndPtr || !infoPtr ||
+        ((nBar == SB_VERT) && !(wndPtr->dwStyle & WS_VSCROLL)) ||
+        ((nBar == SB_HORZ) && !(wndPtr->dwStyle & WS_HSCROLL))) return;
+
     vertical = SCROLL_GetScrollBarRect( hwnd, nBar, &rect,
                                         &arrowSize, &thumbPos );
       /* Draw the arrows */
@@ -467,9 +468,13 @@
     RECT rect;
     BOOL vertical;
     HDC hdc;
-
+    WND *wndPtr = WIN_FindWndPtr( hwnd );
     SCROLLINFO *infoPtr = SCROLL_GetScrollInfo( hwnd, nBar );
-    if (!infoPtr) return;
+
+    if (!wndPtr || !infoPtr ||
+        ((nBar == SB_VERT) && !(wndPtr->dwStyle & WS_VSCROLL)) ||
+        ((nBar == SB_HORZ) && !(wndPtr->dwStyle & WS_HSCROLL))) return;
+
     vertical = SCROLL_GetScrollBarRect( hwnd, nBar, &rect,
                                         &arrowSize, &thumbPos );
     hdc = (nBar == SB_CTL) ? GetDC(hwnd) : GetWindowDC(hwnd);
