diff --git a/publish_spec.sh b/publish_spec.sh
index 29ca5945f989fb53e078d752abd164970cdb952e..a94c2401e5a8b4abb90ba8c62b6e078b73624913 100755
--- a/publish_spec.sh
+++ b/publish_spec.sh
@@ -39,7 +39,12 @@ if [ ! $specs ] ; then
 fi
 
 for i in $(find -name "*.svg") ; do
-  echo "\n------ Converting SVG to PNG for pandoc --------"
+    png="${i%.svg}.png"
+    if [ -f "$png" ]; then
+      echo "Skipping $i — PNG already exists at $png"
+      continue
+    fi
+	echo "\n------ Converting SVG to PNG for pandoc --------"
 	docker run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$TOOLS_DOCKER_IMAGE" svg2png "/tmp/$i"
 done