It's not a bug per se. The categories, tags, and custom taxonomies like slideshows are all considered "terms" by WordPress. Each term has to have a unique slug, like if you create category called Test and then a tag called Test, the category will have the slug "test" and the tag will have the slug "test-2".
So right now you have one template file, category.php, that you have this conditional statement in to dynamically load the correct slideshow?
I don't know how many categories/slideshows you have, but you could create some custom category templates and add the corresponding slideshow to each template. Then you could add a default slideshow to the category.php file for categories that don't have a slideshow.
If you have a ton of categories and need this to be more dynamic, I'd design your statement to work with a certain naming structure. Like if you have a News category, create a slideshow called "News Slideshow". And in the statement, have it get the category slug and append "slideshow" to it.