diff --git a/apps/desktopgui/build.xml b/apps/desktopgui/build.xml
index 176570f316f2754cc612bf68c1e9ce56b92ff440..d075caccf7678c749d12e774d147f55bc93155cf 100644
--- a/apps/desktopgui/build.xml
+++ b/apps/desktopgui/build.xml
@@ -8,12 +8,15 @@
 	<property name="resources" value="resources"/>
     <property name="javadoc" value="javadoc"/>
 
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
 	<property name="javac.compilerargs" value=""/>
 	<property name="require.gettext" value="true" />
 
 	<target name="init">
-		<mkdir dir="${build}"/>
-        <mkdir dir="${build}/${resources}"/>
+	<mkdir dir="${build}"/>
+	<mkdir dir="${build}/${resources}"/>
         <mkdir dir="${build}/${javadoc}"/>
 		<mkdir dir="${dist}"/>
 	</target>
@@ -39,7 +42,7 @@
         </copy>
 	</target>
 
-	<target name="bundle" >
+	<target name="bundle" unless="no.bundle">
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
             <arg value="./bundle-messages.sh" />
         </exec>
diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index 9e22ea0287ae765fe0e4ad6aa669f71f5d56e901..fddfe4b51da42df83af7657a68fc9b700062a432 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -24,6 +24,9 @@
         </depend>
     </target>
 
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
     <property name="javac.compilerargs" value="" />
     <property name="require.gettext" value="true" />
 
@@ -120,7 +123,7 @@
         </uptodate>
     </target>
     
-    <target name="bundle" depends="compile">
+    <target name="bundle" depends="compile" unless="no.bundle">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index 5a54e6c566db27acfcf6a115bf772766d0c0ff24..7f34c38b863dba1c663993ab42b16bf51c51f805 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -21,6 +21,9 @@
         </depend>
     </target>
 
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
     <property name="javac.compilerargs" value="" />
     <property name="require.gettext" value="true" />
 
@@ -84,7 +87,7 @@
         </condition>
     </target>
 
-    <target name="bundle" depends="compile, precompilejsp">
+    <target name="bundle" depends="compile, precompilejsp" unless="no.bundle">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index e9eb2a74d8a99adba61f90c921de1d21c226e9d6..4f533ca4d6a1e29f848a588c8d5d2c9a150a71cc 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -8,6 +8,9 @@
     <target name="prepare">
         <!-- run from top level build.xml to get dependencies built -->
     </target>
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
     <condition property="depend.available">
         <typefound name="depend" />
     </condition>
@@ -113,7 +116,7 @@
     </target>
 
     <!-- this is tricky because the message classes go in the jar, not in the war -->
-    <target name="bundle" depends="jar1, precompilejsp" >
+    <target name="bundle" depends="jar1, precompilejsp" unless="no.bundle">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
index cd13e6e82a754872ca45fde496d3899131a39a04..ccd9d94abde4516f7a36c901a7c2e5a7d2b86b01 100644
--- a/apps/susidns/src/build.xml
+++ b/apps/susidns/src/build.xml
@@ -24,6 +24,9 @@
         <pathelement location="../../../core/java/build/i2p.jar" />
  	</path>
 	<property name="javac.compilerargs" value="" />
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
 	<property name="require.gettext" value="true" />
 
  	<target name="compile">
@@ -121,7 +124,7 @@
         </condition>
     </target>
 
-    <target name="bundle" depends="compile, precompilejsp">
+    <target name="bundle" depends="compile, precompilejsp" unless="no.bundle">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
diff --git a/apps/susimail/build.xml b/apps/susimail/build.xml
index 93022c20f685bd798af216a3deccb9a82be7dfa0..e56e8cd8d8dc4b0df3369dfcdb9dd55f78bbdc74 100644
--- a/apps/susimail/build.xml
+++ b/apps/susimail/build.xml
@@ -7,6 +7,10 @@
     </target>
 
     <property name="javac.compilerargs" value="" />
+    <condition property="no.bundle">
+        <isfalse value="${require.gettext}" />
+    </condition>
+
     <property name="require.gettext" value="true" />
 
     <target name="compile">
@@ -71,7 +75,7 @@
         </condition>
     </target>
 
-    <target name="bundle" depends="compile">
+    <target name="bundle" depends="compile" unless="no.bundle">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
         <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
diff --git a/build.properties b/build.properties
index 896de35438fb6f55930b62a8faa36928d00f613a..cf4daadd9f05d7095f8157d21e44cd13d2796c9b 100644
--- a/build.properties
+++ b/build.properties
@@ -33,8 +33,7 @@ sloccount.report.file=sloccount.sc
 # Uncomment the next line to prevent building EXEs (changing it to false will have no impact)
 #noExe=true
 
-# Change this to false if you don't have gettext
-# Note that this does not prevent gettext from running if installed; to be fixed
+# Change this to false if you don't have gettext or you want to prevent it from running during the build
 require.gettext=true
 
 # Additional classpath if required