Texture flipped, but why?

i tried to use a texture and bumpmap like in testbumpmap, but got a weird result.

i checked how each texture is rendered alone and saw that the bump/normal map is rendered like when i look at the texture in irfanview, but the color texture is flipped.

this is my loading code:

protected void applyBumpMap(final Spatial p_node, final String p_texture, final String p_bumpMap) {
    final TextureState l_textureState = getCore().getDisplay().getRenderer().createTextureState();

    final Texture l_bump = getCore().getSpatialPool().getTexture(TestFragmentProgramState.class.getClassLoader().getResource(p_bumpMap), true);

    final Texture l_texture = getCore().getSpatialPool().getTexture(
       TestFragmentProgramState.class.getClassLoader().getResource(p_texture),
       true);

    l_textureState.setTexture(l_bump, 0);
    l_textureState.setTexture(l_texture, 1);

    l_bump.setWrap(Texture.WM_WRAP_S_WRAP_T);
    l_bump.setApply(Texture.AM_COMBINE);
    l_bump.setCombineFuncRGB(Texture.ACF_DOT3_RGB);
    l_bump.setCombineSrc0RGB(Texture.ACS_TEXTURE);
    l_bump.setCombineSrc1RGB(Texture.ACS_PRIMARY_COLOR);

    l_texture.setWrap(Texture.WM_WRAP_S_WRAP_T);
    l_texture.setApply(Texture.AM_COMBINE);
    l_texture.setCombineFuncRGB(Texture.ACF_MODULATE);
    l_texture.setCombineSrc0RGB(Texture.ACS_PREVIOUS);
    l_texture.setCombineSrc1RGB(Texture.ACS_TEXTURE);

    l_textureState.setEnabled(true);
    Utils.traverseGraph(p_node, new NFunction<Spatial, Boolean>() {
      public Boolean call(@NotNull Spatial p_o) {
        if (p_o instanceof SharedMesh) {
          p_o = ((SharedMesh) p_o).getTarget();
        }
        if (p_o instanceof TriMesh) {
          final TriMesh l_mesh = (TriMesh) p_o;

          for (int i = 0; i < l_mesh.getBatchCount(); i++) {
            l_mesh.copyTextureCoords(i, 0, 1);
            l_mesh.setRenderState(l_textureState);
            l_mesh.updateRenderState();
          }
        }
        return false;
      }
    }, true);

    p_node.setRenderState(l_textureState);
    p_node.updateRenderState();
    p_node.updateGeometricState(0.0F, true);
  }



my texture loading method is working properly or at least not the cause of the problem - it persists even if i use the color texture twice (as texture & bump map)
is something wrong with my texture coord copying method?

try not to flip the texture when u load it using texture manager. the last boolean argument.