How can I render a field based on the value of another field
Try this:

$logo = render($content['field_logo']);
hide($content['field_logo']);
// ...
&lt;?php if ($content['field_boolean']['und'][0]['value'] == '1'): ?&gt;
  &lt;?php print $logo; ?&gt;
&lt;?php endif; ?&gt;


At the moment you're hiding the logo field, which will probably prevent it from being rendered at all, even the second time you call render(). Taking a copy of the rendered logo field and outputting it later should work instead.

You could also do it this way:

&lt;?php if ($content['field_boolean']['und'][0]['value'] == '1'): ?&gt;
  &lt;?php 
  show($content['field_logo']);
  print render($content['field_logo']); 
  ?&gt;
&lt;?php endif; ?&gt;