#states does not hide #suffix in a form
You could put your form element with the suffix into a container forms element. The container can also have states:

$form['format_document_container'] = array(
  '#type' =&gt; 'container',
  '#states' =&gt; array(
    'visible' =&gt; array(
      ':input[name="select_service"]' =&gt; array(
        array('value' =&gt; '1'),
        array('value' =&gt; '2'),
        array('value' =&gt; '3'),
      ),
    ),
  ),
);

$form['format_document_container']['format_document'] = array(
  '#type' =&gt; 'radios',
  '#options' =&gt; array(
    'yes' =&gt; t('Yes'),
    'no' =&gt; t('No')
  ),
  '#title' =&gt; t('Should we format your document?:'),
  '#required' =&gt; TRUE,
  '#default_value' =&gt; 'no',

  '#suffix' =&gt; 'markup for the help image',
);