diff --git a/core/src/main/java/com/github/srec/jemmy/JemmyDSL.java b/core/src/main/java/com/github/srec/jemmy/JemmyDSL.java
index <HASH>..<HASH> 100644
--- a/core/src/main/java/com/github/srec/jemmy/JemmyDSL.java
+++ b/core/src/main/java/com/github/srec/jemmy/JemmyDSL.java
@@ -298,7 +298,7 @@ public class JemmyDSL {
     private static List<java.awt.Component> findComponents(java.awt.Container container, Class<? extends java.awt.Component> componentClass) {
         List<java.awt.Component> list = new ArrayList<java.awt.Component>();
         for (java.awt.Component component : container.getComponents()) {
-            if (componentClass.isAssignableFrom(component.getClass())) {
+            if (component.isVisible() && componentClass.isAssignableFrom(component.getClass())) {
                 list.add(component);
             }
             if (component instanceof java.awt.Container) {
<I>: find_by_type must ignore invisible components