A solution to this problem involves binding to the local geometry in the procedure to calculate the reflection.
This solution is described in GPU Gems: Programming
Techniques, Tips, and Tricks for Realtime Graphics by Randima Fernando
(Series Editor).
The following figure shows a local correction using a bounding
sphere:
Figure 614 Local correction using a bounding sphere
A bounding sphere is used as a proxy volume that delimits the scene to be
reflected. Instead of using the reflected vector R
to
fetch the texture from the cubemap a new vector R’
is
used. To build this new vector you find the intersection point P
in the bounding sphere of the ray from the local point V
in the direction of the reflected vector R
. Create a new vector R’
from the center of the cubemap C
,
where the cubemap was generated, to the intersection point P
. Use this vector to fetch the texture from the cubemap.
float3 R = reflect(D, N);
Find intersection point P
Find vector R’ = CP
float4 col = texCUBE(_Cubemap, R’);
This approach produces good results in the surfaces of objects with a
near spherical shape but reflections in plane reflective surfaces are deformed. Another
drawback of this method is that the algorithm to calculate the intersection point with
the bounding sphere solves a second degree equation and this is relatively complex.
The following figure shows a local correction using a bounding box:
Figure 615 Local correction using a bounding box
A more recent work in 2012 by Sebastien Lagarde uses this new approach to
simulate more complex ambient specular lighting using several cubemaps and uses an
algorithm to evaluate the contribution of each cubemap and efficiently blend on the GPU.
See
http://seblagarde.wordpress.com
Table 63 Differences between infinite and local cubemaps
Infinite Cubemaps 
Local Cubemaps 
 Mainly used outdoors to represent the lighting
from a distant environment.
 Cubemap position is not relevant.

 Represents the lighting from a finite local
environment.
 Cubemap position is relevant.
 The lighting from these cubemaps is right only
at the location where the cubemap was created.
 Local correction must be applied to adapt the
intrinsic infinite nature of cubemaps to local environment.

The following figure shows the scene with correct reflections generated with
local cubemaps.
Figure 616 Correct reflections