anchor.diff:  					else
   						toppaper = null
   
  -		if(href_list["read"])
  +		else if(href_list["read"])
   			var/obj/item/weapon/paper/P = locate(href_list["read"])
  -			if(P)
  +			
  +			if(P && (P.loc == src) && (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo)) )
  +			
   				if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon)))
   					usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[stars(P.info)][P.stamps]</BODY></HTML>", "window=[P.name]")
   					onclose(usr, "[P.name]")
  
positive.code: 			toppaper = W
  		user << "<span class='notice'>You clip the [W] onto \the [src].</span>"
  		update_icon()
  	else if(toppaper)
  		toppaper.attackby(usr.get_active_hand(), usr)
  		update_icon()
  	return
  
  /obj/item/weapon/clipboard/attack_self(mob/user as mob)
  
negative.code: 	if((usr.stat || usr.restrained()))
  		return
  
  	if(src.loc == usr)
  
  		if(href_list["pen"])
  			if(haspen)
  