diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp
index 3244eb577f..751efd8eaa 100644
--- a/src/html/htmlcell.cpp
+++ b/src/html/htmlcell.cpp
@@ -1496,8 +1496,15 @@ void wxHtmlWidgetCell::Draw(wxDC& WXUNUSED(dc),
c = c->GetParent();
}
- ((wxScrolledWindow*)(m_Wnd->GetParent()))->GetViewStart(&stx, &sty);
- m_Wnd->SetSize(absx - wxHTML_SCROLL_STEP * stx, absy - wxHTML_SCROLL_STEP * sty, m_Width, m_Height);
+ wxScrolledWindow *scrolwin =
+ wxDynamicCast(m_Wnd->GetParent(), wxScrolledWindow);
+ wxCHECK_RET( scrolwin,
+ _T("widget cells can only be placed in wxHtmlWindow") );
+
+ scrolwin->GetViewStart(&stx, &sty);
+ m_Wnd->SetSize(absx - wxHTML_SCROLL_STEP * stx,
+ absy - wxHTML_SCROLL_STEP * sty,
+ m_Width, m_Height);
}