Styling land layer and sea using sld in geoserver

I am trying to style land and sea openstreet map data using Styled Layer Descriptor(SLD).
Problem is the land appears to be way outside the coast line.
Any idea how I can achieve this?
I am using GeoServer and Opengis.