diff --git a/source/Irrlicht/CNullDriver.cpp b/source/Irrlicht/CNullDriver.cpp
index 54cfdd7d..3b3ba11c 100644
--- a/source/Irrlicht/CNullDriver.cpp
+++ b/source/Irrlicht/CNullDriver.cpp
@@ -286,10 +286,16 @@ void CNullDriver::removeTexture(ITexture* texture)
 	SSurface s;
 	s.Surface = texture;
 
-	s32 index = Textures.binary_search(s);
-	if (index != -1) {
-		texture->drop();
-		Textures.erase(index);
+	s32 last;
+	s32 first = Textures.binary_search_multi(s, last);
+	if (first == -1)
+		return;
+	for (u32 i = first; i <= (u32)last; i++) {
+		if (Textures[i].Surface == texture) {
+			texture->drop();
+			Textures.erase(i);
+			return;
+		}
 	}
 }