diff --git a/src/jinete/jmanager.cpp b/src/jinete/jmanager.cpp
index 74045440f..84c73b9fa 100644
--- a/src/jinete/jmanager.cpp
+++ b/src/jinete/jmanager.cpp
@@ -329,7 +329,7 @@ bool jmanager_generate_messages(JWidget manager)
 
     JI_LIST_FOR_EACH(proc_windows_list, link) {
       window = reinterpret_cast<JWidget>(link->data);
-      widget = jwidget_pick(window, jmouse_x(0), jmouse_y(0));
+      widget = window->pick(jmouse_x(0), jmouse_y(0));
       if (widget)
 	break;
     }
diff --git a/src/jinete/jwidget.cpp b/src/jinete/jwidget.cpp
index 3c81456a4..11b3d9538 100644
--- a/src/jinete/jwidget.cpp
+++ b/src/jinete/jwidget.cpp
@@ -716,7 +716,7 @@ Widget* Widget::pick(int x, int y)
     picked = this;
 
     JI_LIST_FOR_EACH(this->children, link) {
-      inside = jwidget_pick(reinterpret_cast<Widget*>(link->data), x, y);
+      inside = reinterpret_cast<Widget*>(link->data)->pick(x, y);
       if (inside) {
 	picked = inside;
 	break;