-diff --git a/ivi-layermanagement-examples/EGLWLMockNavigation/src/OpenGLES2App.cpp b/ivi-layermanagement-examples/EGLWLMockNavigation/src/OpenGLES2App.cpp
-index 2e65864..8b7e0d1 100644
---- a/ivi-layermanagement-examples/EGLWLMockNavigation/src/OpenGLES2App.cpp
-+++ b/ivi-layermanagement-examples/EGLWLMockNavigation/src/OpenGLES2App.cpp
-@@ -126,8 +126,11 @@ OpenGLES2App::OpenGLES2App(float fps, float animationSpeed, SurfaceConfiguration
- createWLContext(config);
- createEGLContext();
-
-- ilmClient_init((t_ilm_nativedisplay)m_wlContextStruct.wlDisplay);
-- setupLayerMangement(config);
-+ if (m_wlContextStruct.wlShell == NULL)
-+ {
-+ ilmClient_init((t_ilm_nativedisplay)m_wlContextStruct.wlDisplay);
-+ setupLayerMangement(config);
-+ }
-
- if (config->nosky)
- {
-diff --git a/weston-ivi-shell/src/ivi-controller-interface.h b/weston-ivi-shell/src/ivi-controller-interface.h
-index cdafcc9..fd18009 100644
---- a/weston-ivi-shell/src/ivi-controller-interface.h
-+++ b/weston-ivi-shell/src/ivi-controller-interface.h
-@@ -66,6 +66,25 @@ struct ivi_controller_interface {
- int32_t (*commit_changes)(void);
-
- /**
-+ * \brief Creates an ivi_layout_surface.
-+ *
-+ * \return IVI_SUCCEEDED if the method call was successful
-+ * \return IVI_FAILED if the method call was failed
-+ */
-+ struct ivi_layout_surface* (*surface_create)(
-+ struct weston_surface *wl_surface,
-+ uint32_t id_surface);
-+
-+ /**
-+ * \brief Configure an ivi_layout_surface
-+ *
-+ * \return IVI_SUCCEEDED if the method call was successful
-+ * \return IVI_FAILED if the method call was failed
-+ */
-+ void (*surface_configure)(struct ivi_layout_surface *ivisurf,
-+ int32_t width, int32_t height);
-+
-+ /**
- * surface controller interface
- */
-