diff --git a/src/guiengine/widgets/text_box_widget.cpp b/src/guiengine/widgets/text_box_widget.cpp
index fdffc0566..d21b835dc 100644
--- a/src/guiengine/widgets/text_box_widget.cpp
+++ b/src/guiengine/widgets/text_box_widget.cpp
@@ -34,7 +34,9 @@ void TextBoxWidget::add()
 {
     rect<s32> widget_size = rect<s32>(m_x, m_y, m_x + m_w, m_y + m_h);
     
-    const stringw& text = getText();
+    // Don't call TextBoxWidget::getText(), which assumes that the irrlicht
+    // widget already exists. 
+    const stringw& text = Widget::getText();
     m_element = GUIEngine::getGUIEnv()->addEditBox(text.c_str(), widget_size,
                                                    true /* border */, m_parent, getNewID());
     m_id = m_element->getID();