diff --git a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
index a0793c4..43c49e4 100644
--- a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
+++ b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
@@ -851,6 +851,8 @@
       try {
         URL fileUrl = new URL(fileLocation);
         URLConnection urlConn = fileUrl.openConnection();
+        // See https://issues.apache.org/jira/browse/UIMA-1746
+        urlConn.setUseCaches(false);
         fileSize = urlConn.getContentLength();
       } catch (IOException e) {
         fileSize = -1;
@@ -1038,6 +1040,8 @@
    */
   public static String[] loadListOfStrings(URL textFileURL) throws IOException {
     URLConnection urlConnection = textFileURL.openConnection();
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);
     BufferedReader iStream = null;
     String[] outputArray = null;
     try {
@@ -1192,6 +1196,8 @@
    */
   public static String loadTextFile(URL textFileURL) throws IOException {
     URLConnection urlConnection = textFileURL.openConnection();
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);    
     return loadTextFile(urlConnection);
   }
 
@@ -1207,6 +1213,8 @@
   public static String loadTextFile(URLConnection urlConnection) throws IOException {
     BufferedReader iStream = null;
     String content = null;
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);    
     try {
       iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
       content = loadTextFile(iStream);
diff --git a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
index 5ddedc2..d03b421 100644
--- a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
+++ b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
@@ -24,6 +24,7 @@
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLConnection;
 
 import org.apache.uima.UIMARuntimeException;
 
@@ -111,7 +112,13 @@
    */
   public XMLInputSource(URL aURL) throws IOException {
     mURL = aURL;
-    mInputStream = aURL.openStream();
+    // replace openStream which is openConnection().getInputStream() with
+    // version that allows setting caching(false)
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    URLConnection urlConnection= aURL.openConnection();
+    urlConnection.setUseCaches(false);
+    mInputStream = urlConnection.getInputStream();
+//    mInputStream = aURL.openStream();
   }
 
   /**
