diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index 841780b..1d962ea 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -4888,6 +4888,7 @@ gtk_viewport_get_hadjustment
 gtk_viewport_get_shadow_type
 gtk_viewport_get_type G_GNUC_CONST
 gtk_viewport_get_vadjustment
+gtk_viewport_get_bin_window
 gtk_viewport_new
 gtk_viewport_set_hadjustment
 gtk_viewport_set_shadow_type
diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c
index 3e64564..81487cd 100644
--- a/gtk/gtkviewport.c
+++ b/gtk/gtkviewport.c
@@ -556,6 +556,24 @@ gtk_viewport_get_shadow_type (GtkViewport *viewport)
   return viewport->shadow_type;
 }
 
+/**
+ * gtk_viewport_get_bin_window:
+ * @viewport: a #GtkViewport
+ *
+ * Gets the bin window of the #GtkViewport.
+ *
+ * Return value: a #GdkWindow
+ *
+ * Since: 2.18
+ **/
+GdkWindow*
+gtk_viewport_get_bin_window (GtkViewport *viewport)
+{
+  g_return_val_if_fail (GTK_IS_VIEWPORT (viewport), NULL);
+
+  return viewport->bin_window;
+}
+
 static void
 gtk_viewport_realize (GtkWidget *widget)
 {
diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h
index a9300da..da6b97c 100644
--- a/gtk/gtkviewport.h
+++ b/gtk/gtkviewport.h
@@ -83,6 +83,7 @@ void           gtk_viewport_set_vadjustment (GtkViewport   *viewport,
 void           gtk_viewport_set_shadow_type (GtkViewport   *viewport,
 					     GtkShadowType  type);
 GtkShadowType  gtk_viewport_get_shadow_type (GtkViewport   *viewport);
+GdkWindow*     gtk_viewport_get_bin_window  (GtkViewport   *viewport);
 
 
 G_END_DECLS
