Unity 5 - custom lighting model

I have tried to use my own lighting model in surface shader in Unity. But there is a problem.

If I init my own lighting via

#pragma surface surf _SimpleSpecular

Lighting_SimpleSpecular method is executed. But, even if I return single color from it, my model has still applied texture (with the tint of my returned color). What I am doing wrong? I am using forward rendering.

If I switch to Standard and return single color, all is at it should be.

Post the entire shader. It’s difficult to say what’s happening otherwise.

Shader "Custom/Shader"
{
   Properties
   {
   
     _MainTex ("Albedo (RGB)", 2D) = "white" {}
   }
   SubShader
   {
     Tags
     {
     "RenderType" = "Opaque"  
     }
   
   
     CGPROGRAM
   #pragma surface surf _SimpleSpecular
   
   sampler2D _MainTex;

     struct Input
     {
       float2 uv_MainTex;
     };

     void surf (Input IN, inout SurfaceOutput o)
     {
       o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;     
       o.Alpha = 1;
     }
   

     half4 Lighting_SimpleSpecular (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten)
     {
     
       half4 c;
       c.rgb = half3(1,0,0);
       c.a = s.Alpha;
       return c;
     }

     ENDCG
   
   
   }
   FallBack "Diffuse"
}

The lighting function only applies lighting. It goes on top of the texture you apply here:

o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;