anchor.diff:  				usr.put_in_hands(haspen)
   				haspen = null
   
  -		if(href_list["addpen"])
  +		else if(href_list["addpen"])
   			if(!haspen)
  -				if(istype(usr.get_active_hand(), /obj/item/weapon/pen))
  -					var/obj/item/weapon/pen/W = usr.get_active_hand()
  +				var/obj/item/weapon/pen/W = usr.get_active_hand()
  +				if(istype(W, /obj/item/weapon/pen))
   					usr.drop_item()
   					W.loc = src
   					haspen = W
   					usr << "<span class='notice'>You slot the pen into \the [src].</span>"
   
  -		if(href_list["write"])
  -			var/obj/item/P = locate(href_list["write"])
  -			if(P)
  -				if(usr.get_active_hand())
  -					P.attackby(usr.get_active_hand(), usr)
  +		else if(href_list["write"])
  +			var/obj/item/weapon/P = locate(href_list["write"])
  +			
  +			if(P && (P.loc == src) && (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo)) )
  +				
  +				var/obj/item/I = usr.get_active_hand()
  +				
  +				if(istype(I, /obj/item/weapon/pen))
  +				
  +					P.attackby(I, usr)
   
  -		if(href_list["remove"])
  +		else if(href_list["remove"])
   			var/obj/item/P = locate(href_list["remove"])
  -			if(P)
  +			
  +			if(P && (P.loc == src) && (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo)) )
  +			
   				P.loc = usr.loc
   				usr.put_in_hands(P)
   				if(P == toppaper)
  
positive.code: 					usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[P.info][P.stamps]</BODY></HTML>", "window=[P.name]")
  					onclose(usr, "[P.name]")
  
  		if(href_list["look"])
  			var/obj/item/weapon/photo/P = locate(href_list["look"])
  			if(P)
  				P.show(usr)
  
  		if(href_list["top"])
  			var/obj/item/P = locate(href_list["top"])
  			if(P)
  				toppaper = P
  				usr << "<span class='notice'>You move [P.name] to the top.</span>"
  
  		//Update everything
  		attack_self(usr)
  		update_icon()
  	return
negative.code: 			toppaper = W
  		user << "<span class='notice'>You clip the [W] onto \the [src].</span>"
  		update_icon()
  
  	else if(istype(toppaper) && istype(W, /obj/item/weapon/pen))
  		toppaper.attackby(W, usr)
  		update_icon()
  
  	return
  
  /obj/item/weapon/clipboard/attack_self(mob/user as mob)
  