just to add for the sake of those who would reuse this answer. To change to or from a .kv predefined screen, you need to reference the root of the app. hence, "self.current" as used in the question would not work. rather "self.root.current " would be the correct reference to produce the desired change