Net fiddling with messages?

I’m using net messages to send a message to the server to say whatever model im previewing, I want it after I hit yes and thus sets it to the one in the DModelPanel however, it’s changing it the HL2 equivalant of the PERP model which is rather unusual

cl_init.lua


local purchase = vgui.Create( "DButton" )
purchase:SetParent( DermaPanel ) 
purchase:SetText( "Thank you, goodbye!" )
purchase:SetPos( 305, 615 )
purchase:SetSize( 255, 50 )
purchase.DoClick = function() 
    net.Start("changeplayer")
    net.WriteString(icon.Entity:GetModel())
    net.SendToServer()
    DermaPanel:Close(true)


local icon = vgui.Create( "DModelPanel", DermaPanel )
icon:SetModel( "models/players/perp2/m_8_02.mdl" )
icon:SetSize( 930, 420 )
icon:SetCamPos( Vector( 75, 75, 45 ) )
icon:SetLookAt( Vector( 0, 43, 45 ) )
icon:SetPos( 103, 41 )

init.lua


net.Receive("changeplayer", function(len, ply)
local mdl = net.ReadString() ply:SetModel(mdl)
  print(mdl)

http://puu.sh/3r46G.jpg

**
Fixed the issue, Rather than using net.ReadString / WriteString I decided to use net.ReadInt/net.WriteInt and it worked, silly me.**