? await axios.put(`/api/episodes/${values.id}`, values)
                                : await axios.post(`/api/events/${values.event_id}/add-episode`, values);
                        const newEpisode = response.data;
-                       setEpisodes(episodes => episodes.map(episode =>
-                               episode.id === newEpisode.id ? {
-                                       ...episode,
-                                       ...newEpisode,
-                               } : episode
-                       ));
+                       if (values.id) {
+                               setEpisodes(episodes => episodes.map(episode =>
+                                       episode.id === newEpisode.id ? {
+                                               ...episode,
+                                               ...newEpisode,
+                                       } : episode
+                               ));
+                       } else {
+                               // TODO: fix order
+                               setEpisodes(episodes => [...episodes, newEpisode]);
+                       }
                        setEditEpisode(episode => ({
                                ...episode,
                                ...newEpisode,