Undefined index: und in mytheme_preprocess_page()
For a field, $entity-&gt;$field_name['und'] is not always defined. Instead of the code you are using, you should use the following code.

if (isset($node-&gt;field_banner)) {
  // Render the image as a variable in the page template.
  $field = field_get_items('node', $node, 'field_banner');
  $vars['banner'] = theme_image_style(array('path' =&gt; $field[0]['uri'], 'style_name' =&gt; 'mybannerstyle', 'height' =&gt; '200', 'width' =&gt; '700'));
} 


I would also consider using field_view_value(), instead of fields_get_items(), but the first function doesn't allow to customize the output, if not through the $display parameter. (See field_view_field() for a description of that parameter.)

field_get_items() and field_view_value() get the language ID from field_get_name(), which returns the correct value for the language to use for the field.