diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 9769300cc0b..4c98adbf563 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -388,9 +388,8 @@ Class Procs:
RefreshParts()
update_icon()
else
- to_chat(user, "Following parts detected in the machine:")
- for(var/obj/item/C in component_parts)
- to_chat(user, " [C.name]")
+ to_chat(user, "The following parts have been detected in \the [src]:")
+ to_chat(user, counting_english_list(component_parts))
if(parts_replaced) //only play sound when RPED actually replaces parts
playsound(src, 'sound/items/rped.ogg', 40, TRUE)
return 1
diff --git a/html/changelogs/geeves-pretty_parts.yml b/html/changelogs/geeves-pretty_parts.yml
new file mode 100644
index 00000000000..4c3fcef281c
--- /dev/null
+++ b/html/changelogs/geeves-pretty_parts.yml
@@ -0,0 +1,6 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - rscadd: "Part replacers now output the contents of closed machines nicely."
\ No newline at end of file