diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 1dd51443fb..5bb1dde195 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -57,9 +57,7 @@
user.set_machine(src)
var/dat = "
"
- var/i
- for(i=contents.len, i>=1, i--)
- var/obj/item/P = contents[i]
+ for(var/obj/item/P in src)
dat += "| [P.name] |
"
dat += "
"
user << browse("[name][dat]", "window=filingcabinet;size=350x300")
@@ -89,12 +87,13 @@
//var/retrieveindex = text2num(href_list["retrieve"])
var/obj/item/P = locate(href_list["retrieve"])//contents[retrieveindex]
- if(P && in_range(src, usr))
+ if(istype(P) && (P.loc == src) && src.Adjacent(usr))
usr.put_in_hands(P)
updateUsrDialog()
icon_state = "[initial(icon_state)]-open"
- sleep(5)
- icon_state = initial(icon_state)
+ spawn(0)
+ sleep(5)
+ icon_state = initial(icon_state)
/*