diff --git a/flatland/evaluators/service.py b/flatland/evaluators/service.py
index 25fdeee51d4b1bc28a76ecc7ffb715eee80f79a9..5a98aac644bd1d49a5ec4c816ae2ce75dcf39a7a 100644
--- a/flatland/evaluators/service.py
+++ b/flatland/evaluators/service.py
@@ -535,9 +535,11 @@ class FlatlandRemoteEvaluationService:
             )
 
             if self.visualize:
-                if self.env_renderer:
-                    del self.env_renderer
-                self.env_renderer = RenderTool(self.env, gl="PILSVG", )
+                current_env_path = self.env_file_paths[self.simulation_count]
+                if current_env_path in self.video_generation_envs:
+                    self.env_renderer = RenderTool(self.env, gl="PILSVG", )
+                elif self.env_renderer:
+                    self.env_renderer = False
 
             _command_response = {}
             _command_response['type'] = messages.FLATLAND_RL.ENV_CREATE_RESPONSE
@@ -631,17 +633,18 @@ class FlatlandRemoteEvaluationService:
 
         # Record Frame
         if self.visualize:
-            self.env_renderer.render_env(
-                show=False,
-                show_observations=False,
-                show_predictions=False
-            )
             """
-            Only save the frames for environments which are separately provided 
+            Only generate and save the frames for environments which are separately provided
             in video_generation_indices param
             """
             current_env_path = self.env_file_paths[self.simulation_count]
             if current_env_path in self.video_generation_envs:
+                self.env_renderer.render_env(
+                    show=False,
+                    show_observations=False,
+                    show_predictions=False
+                )
+
                 self.env_renderer.gl.save_image(
                     os.path.join(
                         self.vizualization_folder_name,