So, in tr_shade.cpp the code is doing that in Render_liquid():
GL_BindToTMU( 1, tr.portalRenderImage );
I happens that portalRenderImage is actually not initialized while it should.
This image is expected to be set in tr_backend.cpp in RB_RenderView(), but it is not set because it happens that backEnd.viewParms.portalLevel is 0.
It is expected that backEnd.viewParms.portalLevel is set in R_MirrorViewBySurface() in tr_main.cpp, but R_MirrorViewBySurface seems to not be called.