diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index a7e8eeb847a23967e983f5f619b1e7ab27b56381..b15d1c117c4968a85403c53605d37d4ae131e311 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -2599,7 +2599,7 @@ TREEVIEW_UpdateScrollBars(TREEVIEW_INFO *infoPtr)
     if (vert)
     {
 	si.nPage = TREEVIEW_GetVisibleCount(infoPtr);
-       if ( si.nPage )
+       if ( si.nPage && NULL != infoPtr->firstVisible)
        {
            si.nPos  = infoPtr->firstVisible->visibleOrder;
            si.nMax  = infoPtr->maxVisibleOrder - 1;