diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index e84b359..da200da 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -290,6 +290,14 @@ gtk_flow_box_child_focus (GtkWidget        *widget,
 
   child = gtk_bin_get_child (GTK_BIN (widget));
 
+  if (!gtk_widget_get_can_focus (widget))
+    {
+      if (child)
+        {
+          return gtk_widget_child_focus (child, direction);
+        }
+      return FALSE;
+    }
   g_object_get (widget, "has-focus", &had_focus, NULL);
   if (had_focus)
     {
