diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index 841780b..720c906 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -5160,6 +5160,7 @@ gtk_window_get_title
 gtk_window_get_transient_for
 gtk_window_get_type G_GNUC_CONST
 gtk_window_get_type_hint
+gtk_window_get_window_type
 gtk_window_group_add_window
 gtk_window_group_get_type G_GNUC_CONST
 gtk_window_group_new
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index c0815a9..3e2781d 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -8402,6 +8402,24 @@ gtk_window_set_auto_startup_notification (gboolean setting)
   disable_startup_notification = !setting;
 }
 
+/**
+ * gtk_window_get_window_type:
+ * @window: a #GtkWindow
+ *
+ * The type of the window.
+ *
+ * Return value: the type of the window
+ *
+ * Since: 2.18
+ **/
+GtkWindowType
+gtk_window_get_window_type (GtkWindow *window)
+{
+  g_return_val_if_fail (GTK_IS_WINDOW (window), GTK_WINDOW_TOPLEVEL);
+
+  return window->type;
+}
+
 #if defined (G_OS_WIN32) && !defined (_WIN64)
 
 #undef gtk_window_set_icon_from_file
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index 6918971..dc59dfe 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -385,6 +385,8 @@ GtkWindowGroup *gtk_window_get_group (GtkWindow   *window);
 /* Ignore this unless you are writing a GUI builder */
 void     gtk_window_reshow_with_initial_size (GtkWindow *window);
 
+GtkWindowType gtk_window_get_window_type     (GtkWindow     *window);
+
 /* Window groups
  */
 GType            gtk_window_group_get_type      (void) G_GNUC_CONST;
