Why would ssh fail to expand %h variable in .ssh/config?

Why would ssh fail to expand %h from .ssh/config? This used to work and still works except on a RHEL box. Looking for what the origin of this could be. Is there a setting somewhere that tells ssh to not expand %h?

I have something like this in my .ssh/config:

Host *.foo
  HostName %h.mydomain.com

On the RHEL box where this doesn't work, I get this:

$ ssh -vvvv bar.foo
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /home/zsimic/.ssh/config
debug1: Applying options for *.foo
debug1: Applying options for *.foo
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname %h.mydomain.com: Name or service not known

You are using OpenSSH 5.3; %h was only introduced in OpenSSH 5.6:

Changes since OpenSSH 5.5
=========================

 * Expand %h to the hostname in ssh_config Hostname options. While this
   sounds useless, it is actually handy for working with unqualified
   hostnames:

     Host *.*
        Hostname %h
     Host *
        Hostname %h.example.org

man ssh_config does not mention that %h will be expanded in HostName clause. I'm using openssh5.9p1

edit: it did and I missed it

If setting up some proxy server ( a local-only one will do ) won't bother you, maybe some workaround with ProxyCommand is possible.

Or, you can enumerate a few hostnames in .ssh/config .