diff --git a/kivy/core/image/__init__.py b/kivy/core/image/__init__.py index 4ab78ef93..3e97e34bc 100644 --- a/kivy/core/image/__init__.py +++ b/kivy/core/image/__init__.py @@ -569,7 +569,10 @@ class Image(EventDispatcher): if image: # we found an image, yeah ! but reset the texture now. self.image = image - if not image.keep_data and self._keep_data: + # if image.__class__ is core image then it's a texture + # from atlas or other sources and has no data so skip + if (image.__class__ != self.__class__ and + not image.keep_data and self._keep_data): self.remove_from_cache() self._filename = '' self._set_filename(value)