diff --git a/ext/fox16_c/FXRuby.cpp b/ext/fox16_c/FXRuby.cpp
index c3d10e432c1ac431a18adfa2895938485bbd5136..51651a795bc2beadaa70343fa4f1b60d90f4dfd6 100644
--- a/ext/fox16_c/FXRuby.cpp
+++ b/ext/fox16_c/FXRuby.cpp
@@ -1246,7 +1246,7 @@ static ID id_assocs;
  * or return zero if the designated receiver doesn't handle this
  * message.
  */
-ID FXRbLookupHandler(FXObject* recv,FXSelector key){
+ID FXRbLookupHandler_gvlcb(FXObject* recv,FXSelector key){
   FXTRACE((100,"FXRbLookupHandler(recv=%p(%s),FXSEL(%d,%d))\n",recv,recv->getClassName(),FXSELTYPE(key),FXSELID(key)));
   ID id=0;
   VALUE rubyObj=to_ruby(recv);
diff --git a/ext/fox16_c/include/FXRuby.h b/ext/fox16_c/include/FXRuby.h
index 43b67502f7ddf96f5a46131ef2b0c11348b5c1cc..20b65fb329bf0f0750a00e498a26b127bc784ef1 100644
--- a/ext/fox16_c/include/FXRuby.h
+++ b/ext/fox16_c/include/FXRuby.h
@@ -175,7 +175,7 @@ extern FXColor *FXRbConvertToFXColors(VALUE string_or_ary, FXuint *opts);
 extern void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE data);
 
 // Returns the name of the message handler function (or NULL)
-ID FXRbLookupHandler(FXObject* recv,FXSelector key);
+ID FXRbLookupHandler_gvlcb(FXObject* recv,FXSelector key);
 
 // Handle this message
 long FXRbHandleMessage_gvlcb(FXObject* recv,ID func,FXObject* sender,FXSelector key,void* data);
diff --git a/ext/fox16_c/include/gvl_wrappers.h b/ext/fox16_c/include/gvl_wrappers.h
index 1a12c4ff29abd1ddb03705e95763565f9601c691..ba2489969c28be3f59852ddeedf2f1ee2114c1ce 100644
--- a/ext/fox16_c/include/gvl_wrappers.h
+++ b/ext/fox16_c/include/gvl_wrappers.h
@@ -420,6 +420,9 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
   param(TYPE2, , arg2) \
   param(TYPE3, , arg3)
 
+#define FOR_EACH_PARAM_OF_FXRbLookupHandler_2(param) \
+  param(ITEMB, , itemb)
+
 #define FOR_EACH_PARAM_OF_FXRbHandleMessage_5(param) \
   param(ID, , func) \
   param(TYPE1, , arg1) \
@@ -499,6 +502,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
   function(FXRbCallRangeMethod, GVL_TYPE_NONVOID, FXRangef, RECV, recv, 2) \
   function(FXRbCallWCharMethod, GVL_TYPE_NONVOID, FXwchar, RECV, recv, 2) \
   function(FXRbCallSetDashes, GVL_TYPE_VOID, void, RECV, recv, 5) \
+  function(FXRbLookupHandler, GVL_TYPE_NONVOID, ID, RECV, recv, 2) \
   function(FXRbHandleMessage, GVL_TYPE_NONVOID, long, RECV, recv, 5) \
   function(FXRbComboBox_sortFunc, GVL_TYPE_NONVOID, FXint, ITEMA, itema, 2) \
   function(FXRbFoldingList_sortFunc, GVL_TYPE_NONVOID, FXint, ITEMA, itema, 2) \