diff --git a/lib/rautomation/adapter/ms_uia/functions.rb b/lib/rautomation/adapter/ms_uia/functions.rb
index <HASH>..<HASH> 100644
--- a/lib/rautomation/adapter/ms_uia/functions.rb
+++ b/lib/rautomation/adapter/ms_uia/functions.rb
@@ -199,7 +199,7 @@ module RAutomation
 
           def control_click(control_hwnd)
             string_buffer = FFI::MemoryPointer.new :char, 1024
-            UiaDll::control_click control_hwnd, string_buffer, 1024
+            UiaDll::control_mouse_click control_hwnd, string_buffer, 1024
             error_info = string_buffer.read_string
             raise error_info unless error_info.empty?
             true
diff --git a/lib/rautomation/adapter/ms_uia/uia_dll.rb b/lib/rautomation/adapter/ms_uia/uia_dll.rb
index <HASH>..<HASH> 100644
--- a/lib/rautomation/adapter/ms_uia/uia_dll.rb
+++ b/lib/rautomation/adapter/ms_uia/uia_dll.rb
@@ -84,6 +84,8 @@ module RAutomation
                         [:long, :int], :void
         attach_function :control_click, :RA_Click,
                         [:long, :pointer, :int], :void
+        attach_function :control_mouse_click, :RA_PointAndClick,
+                        [:long, :pointer, :int], :void
       end
     end
   end
favor control_mouse_click over control_click to avoid modal dialog issues