diff --git a/js-build/note-editor.js b/js-build/note-editor.js
index 1435730342..bfd552f863 100644
--- a/js-build/note-editor.js
+++ b/js-build/note-editor.js
@@ -36,9 +36,6 @@ async function getZoteroNoteEditor(signatures) {
 			await fs.remove(path.join(targetDir, 'zotero'));
 		}
 		catch (e) {
-			console.error(e);
-			await exec('npm ci', { cwd: modulePath });
-			await exec('npm run build', { cwd: modulePath });
 			await fs.copy(path.join(modulePath, 'build', 'zotero'), targetDir);
 		}
 		signatures['note-editor'] = { hash };
diff --git a/js-build/pdf-worker.js b/js-build/pdf-worker.js
index b820304f3a..aafb6b1ef5 100644
--- a/js-build/pdf-worker.js
+++ b/js-build/pdf-worker.js
@@ -33,9 +33,6 @@ async function getPDFWorker(signatures) {
 			);
 		}
 		catch (e) {
-			console.error(e);
-			await exec('npm ci', { cwd: modulePath });
-			await exec('npm run build', { cwd: modulePath });
 			await fs.copy(path.join(modulePath, 'build', 'worker.js'), path.join(targetDir, 'worker.js'));
 		}
 		signatures['pdf-worker'] = { hash };
diff --git a/js-build/reader.js b/js-build/reader.js
index 12b5df6a92..20c3f20a57 100644
--- a/js-build/reader.js
+++ b/js-build/reader.js
@@ -36,11 +36,6 @@ async function getReader(signatures) {
 			await fs.remove(path.join(targetDir, 'zotero'));
 		}
 		catch (e) {
-			if (!e.message?.includes('The requested URL returned error: 403')) {
-				console.error(e);
-			}
-			await exec('npm ci', { cwd: modulePath });
-			await exec('npm run build:zotero', { cwd: modulePath });
 			if (!fs.pathExists(path.join(modulePath, 'build', 'zotero', 'pdf', 'build', 'pdf.mjs'))) {
 				throw new Error('pdf.js build failed to produce output');
 			}
