I dealt with this writing a custom template tag. You may want to adjust the structure and classes in order to fit the needs of your styling:
function mysite_languages() {
if ( function_exists( 'icl_get_languages' ) ) :
$languages = icl_get_languages( 'skip_missing=N&orderby=KEY&order=DIR&link_empty_to=str' );
if ( ! empty( $languages ) ) :
echo "\n<ul class=\"languages\">\n";
foreach ( $languages as $lang ) :
echo '<li class="' . ( $lang['active'] ? 'active' : '' ) . '"><a href="https://wordpress.stackexchange.com/questions/179075/. $lang["url'] . '>"https://wordpress.stackexchange.com/questions/179075/. $lang["language_code'] . "</a></li>\n";
endforeach;
echo "</ul>\n";
endif; // ( ! empty( $languages ) )
endif; // ( function exists )
}
Further reference on WPML page: http://wpml.org/documentation/getting-started-guide/language-setup/custom-language-switcher/