Image entry in a category template
It looks like you are trying to access a news variable that probably doesn't exist.

{% for entry in craft.entries.section('news').relatedTo(category) %} 

    {# Your image field will be found on your `entry` variable (not a `news` variable) #}
    {% for image in entry.newsimage %}

        {# One you are looping through your image field, 
           you can access the image properties via the `image` 
           variable you defined in your loop #}
        &lt;a href="{{ image.getUrl() }}"&gt;
          &lt;img alt="{{ image.title }}" src="{{ image.getUrl() }}" /&gt;
        &lt;/a&gt;

    {% endfor %}

{% endfor %}


If you only have a single news image, you can grab that image directly using the first() method, instead of looping through your image field:

{% for entry in craft.entries.section('news').relatedTo(category) %} 

    {% set image = entry.newsimage.first() %}

    {% if image %}
        &lt;a href="{{ image.getUrl() }}"&gt;
          &lt;img alt="{{ image.title }}" src="{{ image.getUrl() }}" /&gt;
        &lt;/a&gt;
    {% endif %}

{% endfor %}