diff --git a/apps/i2ptunnel/build.gradle b/apps/i2ptunnel/build.gradle
index fd5c8e5362ac632140f7cd5636339ce59556e7d3..bd1ea1510d504d02ab395584a0e46bb7ecb662d3 100644
--- a/apps/i2ptunnel/build.gradle
+++ b/apps/i2ptunnel/build.gradle
@@ -75,7 +75,27 @@ task helpersJar(type: Jar) {
     archiveBaseName='i2pTunnelHelpers'
 }
 
+task copyJsps(type: Copy) {
+    doFirst {
+        def f = file("$buildDir/jsp_copy")
+        f.mkdirs()
+    }
+    from("jsp")
+    include("**/*.jsp")
+    include("**/*.jsi")
+    into("$buildDir/jsp_copy")
+
+    doLast {
+        fileTree("$buildDir/jsp_copy").getFiles().each {
+            if (it.getName().endsWith("jsi"))
+                it.setLastModified(0)
+        }
+    }
+}
+
+
 task precompileJsp(type : JavaExec) {
+    dependsOn copyJsps
     classpath = sourceSets.main.runtimeClasspath
     main = 'net.i2p.servlet.util.JspC'
 
@@ -90,7 +110,7 @@ task precompileJsp(type : JavaExec) {
     args "-webinc"
     args "$buildDir/web-fragment.xml"
     args "-webapp"
-    args "jsp"
+    args "$buildDir/jsp_copy"
     doLast {
         def output = new File("$buildDir/compiledJsps")
         output.mkdirs()
diff --git a/apps/routerconsole/build.gradle b/apps/routerconsole/build.gradle
index 60bad6e0e5f8e33ee6dc1974e48c2657bcfe6b11..a110ab116ccb0736e824d58e828b659e19d80874 100644
--- a/apps/routerconsole/build.gradle
+++ b/apps/routerconsole/build.gradle
@@ -89,7 +89,26 @@ task helpersJar(type: Jar) {
 }
 
 
+task copyJsps(type: Copy) {
+    doFirst {
+        def f = file("$buildDir/jsp_copy")
+        f.mkdirs()
+    }
+    from("jsp") 
+    include("**/*.jsp")
+    include("**/*.jsi")
+    into("$buildDir/jsp_copy")
+    
+    doLast {
+        fileTree("$buildDir/jsp_copy").getFiles().each {
+            if (it.getName().endsWith("jsi"))
+                it.setLastModified(0)
+        }
+    }
+}
+
 task precompileJsp(type: JavaExec) {
+    dependsOn copyJsps
     classpath = sourceSets.main.runtimeClasspath
     main = 'net.i2p.servlet.util.JspC'
 
@@ -104,7 +123,7 @@ task precompileJsp(type: JavaExec) {
     args "-webinc"
     args "$buildDir/web-fragment.xml"
     args "-webapp"
-    args "jsp"
+    args "$buildDir/jsp_copy"
     doLast {
         def output = new File("$buildDir/compiledJsps")
         output.mkdirs()
diff --git a/apps/susidns/build.gradle b/apps/susidns/build.gradle
index 9939f41242acfb1c46c19b304e7b4130dff8e360..672f7805b379f7ffd255f44790f78d75ff613fd7 100644
--- a/apps/susidns/build.gradle
+++ b/apps/susidns/build.gradle
@@ -29,11 +29,32 @@ task bundle {
     }
 }
 
+task copyJsps(type: Copy) {
+    doFirst {
+        def f = file("$buildDir/jsp_copy")
+        f.mkdirs()
+    }
+    from("src/jsp")
+    include("**/*.jsp")
+    include("**/*.jsi")
+    into("$buildDir/jsp_copy")
+
+    doLast {
+        fileTree("$buildDir/jsp_copy").getFiles().each {
+            if (it.getName().endsWith("jsi"))
+                it.setLastModified(0)
+        }
+    }
+}
+
+
 task precompileJsp(type: JavaExec) {
     doFirst {
         file("$buildDir/tmp_jsp").mkdirs()
     }
 
+    dependsOn copyJsps
+
     classpath = sourceSets.main.runtimeClasspath + fileTree("src/lib")
     main = 'net.i2p.servlet.util.JspC'
 
@@ -48,7 +69,7 @@ task precompileJsp(type: JavaExec) {
     args "-webinc"
     args "$buildDir/web-fragment.xml"
     args "-webapp"
-    args "src/jsp"
+    args "$buildDir/jsp_copy"
     doLast {
         // normalize the order of the _jspx_dependents
         ant.replaceregexp(file : "$buildDir/tmp_jsp/i2p/susi/dns/jsp/addressbook_jsp.java",
diff --git a/reproducible/build.gradle b/reproducible/build.gradle
index 27c92d19c82645774dc0920bc789c106ab48ab62..29c9d9faf443cf1d5801a9cdbc73366312df23a5 100644
--- a/reproducible/build.gradle
+++ b/reproducible/build.gradle
@@ -26,7 +26,8 @@ dependencies {
     implementation project(':core')
     implementation project(':router')
     implementation project(path : ':installer', configuration: 'jbigi')
-    implementation fileTree("../apps/susidns/src/lib")
+    implementation files("../apps/susidns/src/lib/standard.jar")
+    implementation files("../apps/susidns/src/lib/jstl.jar")
 }
 
 import java.nio.file.*