Matching empty string is not working
Run this query:

 SELECT ASCII(' ') AS [SingleSpaceString]
      , ASCII('') AS [NoSpaceString]


You will note the the Value for [SingleSpaceString] is '32', while [NoSpaceString] is NULL.

I'd suggest adding ASCII(Box.Ice) to your select statement to confirm that a true space is the value, vs. an odd character.