CCK field value count is never less than 1
As far as CCK is concerned, there is still a value, it just happens to be blank (most likely an empty string, depending on what type of field you're using). If you modify your code to check the raw value, you should only see output when there is an actual value:

if ($node-&gt;field_tip != NULL) {
  foreach ((array)$node-&gt;field_tip as $tip) {
    if (!empty($tip['value'])) {
      print "&lt;div class='tip'&gt;" . $tip['view'] ."&lt;/div&gt;";
    }
  }
}