diff --git a/modules/gfx/src/entity.cc b/modules/gfx/src/entity.cc
index 18581ab3da301d3af70e189b2e137f18bf1b1fb1..6b8468a249a469a4e256f62834d91ba74aae36d8 100644
--- a/modules/gfx/src/entity.cc
+++ b/modules/gfx/src/entity.cc
@@ -1151,13 +1151,11 @@ void Entity::do_update_view() const
   for (RendererMap::iterator
        i=renderer_.begin(), e=renderer_.end(); i!=e; ++i) {
     impl::EntityRenderer* renderer=i->second;
-    if (!renderer->IsEnabled())
+    if (!renderer->IsEnabled() || !renderer->HasDataToRender())
       continue;
     renderer->ClearViews();
     renderer->AddView(cached_view_);
     renderer->UpdateViews();
-    if (!renderer->HasDataToRender())
-      continue;
     renderer->FlagPositionsDirty();
     renderer->PrepareRendering();
   }