diff --git a/clients/Makefile.am b/clients/Makefile.am
index 1379c4bc6dcc7f18c389c098b6407c667b5b8ca1..cad0d405e83c7df2b6f8e124714461c5cf340d4b 100644
--- a/clients/Makefile.am
+++ b/clients/Makefile.am
@@ -60,15 +60,14 @@ clients_programs =				\
 	dnd					\
 	smoke					\
 	resizor					\
-	nested					\
-	nested-client				\
 	eventdemo				\
 	clickdot				\
 	transformed				\
 	fullscreen				\
 	calibrator				\
 	$(subsurfaces)				\
-	$(full_gl_client_programs)
+	$(full_gl_client_programs)		\
+	$(cairo_glesv2_programs)
 
 desktop_shell = weston-desktop-shell
 
@@ -123,11 +122,15 @@ smoke_LDADD = libtoytoolkit.la
 resizor_SOURCES = resizor.c
 resizor_LDADD = libtoytoolkit.la
 
+if HAVE_CAIRO_GLESV2
+cairo_glesv2_programs = nested nested-client
+
 nested_SOURCES = nested.c
-nested_LDADD = libtoytoolkit.la
+nested_LDADD = libtoytoolkit.la $(SERVER_LIBS)
 
 nested_client_SOURCES = nested-client.c
 nested_client_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
+endif
 
 eventdemo_SOURCES = eventdemo.c
 eventdemo_LDADD = libtoytoolkit.la
diff --git a/configure.ac b/configure.ac
index 848ff9262a73e243a6c4133bbac31ca0210e7f07..8d36915e6f67e854662d86b6997d79f2700f713f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -236,6 +236,7 @@ if test x$enable_clients = xyes; then
   AC_DEFINE([BUILD_CLIENTS], [1], [Build the Wayland clients])
 
   PKG_CHECK_MODULES(CLIENT, [wayland-client cairo >= 1.10.0 xkbcommon wayland-cursor])
+  PKG_CHECK_MODULES(SERVER, [wayland-server])
   PKG_CHECK_MODULES(WESTON_INFO, [wayland-client])
 
   PKG_CHECK_MODULES(POPPLER, [poppler-glib glib-2.0 gobject-2.0 gio-2.0 ],
@@ -281,6 +282,9 @@ AM_CONDITIONAL(HAVE_POPPLER, test "x$have_poppler" = "xyes")
 
 AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
 
+AM_CONDITIONAL(HAVE_CAIRO_GLESV2,
+	       [test "x$have_cairo_egl" = "xyes" -a "x$cairo_modules" = "xcairo-glesv2" -a "x$enable_egl" = "xyes"])
+
 AM_CONDITIONAL(BUILD_FULL_GL_CLIENTS,
 	       test x$cairo_modules = "xcairo-gl" -a "x$have_cairo_egl" = "xyes" -a "x$enable_egl" = "xyes")