Wrong $language_content variable
The $language_content variable is not set to the language used for the currently shown node, but it contains the value set by the language negotiation providers.

See language_initialize(), which is the function that initialize that and other variables, and that is called from the following code.

  // Ensure the language is correctly returned, even without multilanguage
  // support. Also make sure we have a $language fallback, in case a language
  // negotiation callback needs to do a full bootstrap.
  // Useful for eg. XML/HTML 'lang' attributes.
  $default = language_default();
  foreach ($types as $type) {
    $GLOBALS[$type] = $default;
  }
  if (drupal_multilingual()) {
    include_once DRUPAL_ROOT . '/includes/language.inc';
    foreach ($types as $type) {
      $GLOBALS[$type] = language_initialize($type);
    }
    // Allow modules to react on language system initialization in multilingual
    // environments.
    bootstrap_invoke_all('language_init');
  }


The language negotiation providers are the ones you set in admin/config/regional/language/configure.


  


If none of the provider is enabled, which what happens by default, that variable will be set with an object for English language.