diff --git a/kivy/uix/screenmanager.py b/kivy/uix/screenmanager.py index 927efb905..2d451002c 100644 --- a/kivy/uix/screenmanager.py +++ b/kivy/uix/screenmanager.py @@ -580,6 +580,9 @@ class ScreenManager(FloatLayout): self.current = screen.name def real_add_widget(self, *l): + # ensure screen is removed from it's previous parent before adding' + if l[0].parent: + l[0].parent.remove_widget(l[0]) super(ScreenManager, self).add_widget(*l) def real_remove_widget(self, *l):