diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 2301a5516d9..03f3a1dd93b 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -191,7 +191,7 @@
to_chat(usr, "Playing started.")
var/used = mytape.used_capacity //to stop runtimes when you eject the tape
var/max = mytape.max_capacity
- for(var/i = 1, used < max, sleep(10 * playsleepseconds))
+ for(var/i = 1, used <= max, sleep(10 * playsleepseconds))
if(!mytape)
break
if(playing == FALSE)
@@ -263,6 +263,7 @@
t1 += "[mytape.storedinfo[i]]
"
P.info = t1
P.name = "paper- 'Transcript'"
+ P.update_icon_state()
usr.put_in_hands(P)
canprint = FALSE
addtimer(VARSET_CALLBACK(src, canprint, TRUE), 30 SECONDS)
@@ -315,7 +316,7 @@
/obj/item/tape/attackby(obj/item/I, mob/user, params)
- if(ruined && I.tool_behaviour == TOOL_SCREWDRIVER || istype(I, /obj/item/pen))
+ if(ruined && (I.tool_behaviour == TOOL_SCREWDRIVER || istype(I, /obj/item/pen)))
to_chat(user, "You start winding the tape back in...")
if(I.use_tool(src, user, 120))
to_chat(user, "You wound the tape back in.")