Sea Surface refraction cause translucent object error


I made a sea surface and look from under the surface.
When the sea surface material is a simple transparent color, it is quite normal.

But if I change the surface material to a custom material that has normal map and refraction attribute, the transparent objects before the surface is strangely rendered onto the surface.

Is that avoidable? and how?