diff --git a/xwiki-platform-core/pom.xml b/xwiki-platform-core/pom.xml
index e99777d..59153bc 100644
--- a/xwiki-platform-core/pom.xml
+++ b/xwiki-platform-core/pom.xml
@@ -360,6 +360,8 @@
                 <exclude>org/xwiki/eventstream/Event</exclude>
                 <exclude>com/xpn/xwiki/plugin/activitystream/api/ActivityEvent</exclude>
                 <exclude>com/xpn/xwiki/plugin/activitystream/plugin/ActivityEvent</exclude>
+                <exclude>com/xpn/xwiki/doc/FilesystemAttachmentContent</exclude>
+                <exclude>com/xpn/xwiki/doc/FilesystemAttachmentContent$1LockingFileInputStream</exclude>
               </excludes>
             </configuration>
           </plugin>
diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-api/src/main/java/org/xwiki/store/UnexpectedException.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-api/src/main/java/org/xwiki/store/UnexpectedException.java
new file mode 100644
index 0000000..d31864c
--- /dev/null
+++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-api/src/main/java/org/xwiki/store/UnexpectedException.java
@@ -0,0 +1,72 @@
+/*
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ */
+
+package org.xwiki.store;
+
+/**
+ * An exception which is unreasonable to expect and is caused by misconfiguration or
+ * system failure. This is identical to {@link java.lang.RuntimeException} but subclasses
+ * it just so that it can be caught if desired.
+ *
+ * @version $Id$
+ * @since 3.2M2
+ */
+public class UnexpectedException extends RuntimeException
+{
+    /**
+     * Constructs a new unexpected exception with null as its detail message.
+     */
+    public UnexpectedException()
+    {
+        super();
+    }
+
+    /**
+     * Constructs a new unexpected exception with the specified detail message.
+     *
+     * @param message the String to explain the exception.
+     */
+    public UnexpectedException(final String message)
+    {
+        super(message);
+    }
+
+    /**
+     * Constructs a new unexpected exception with the specified detail message and cause.
+     *
+     * @param message the String to explain the exception.
+     * @param cause the Throwable which caused this exception.
+     */
+    public UnexpectedException(final String message, final Throwable cause)
+    {
+        super(message, cause);
+    }
+
+    /**
+     * Constructs a new unexpected exception with the specified cause.
+     *
+     * @param cause the Throwable which caused this exception.
+     */
+    public UnexpectedException(final Throwable cause)
+    {
+        super(cause);
+    }
+}
diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/doc/FilesystemAttachmentContent.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/doc/FilesystemAttachmentContent.java
index f6fd15f..5694beb 100644
--- a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/doc/FilesystemAttachmentContent.java
+++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/doc/FilesystemAttachmentContent.java
@@ -25,11 +25,10 @@
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.IOException;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReadWriteLock;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.input.AutoCloseInputStream;
+import org.xwiki.store.UnexpectedException;
 
 
 /**
@@ -45,26 +44,19 @@
     /** The underlying storage mechanism. */
     private final File storageFile;
 
-    /** A lock which is locked when the attachment content is being read. */
-    private final ReadWriteLock lock;
-
     /**
      * The Constructor.
      *
      * @param storage the file where the data is stored.
      * @param attachment the attachment to associate this content with.
-     * @param lock this will be locked for reading when the attachment file is being read.
      */
     public FilesystemAttachmentContent(final File storage,
-                                       final XWikiAttachment attachment,
-                                       final ReadWriteLock lock)
+                                       final XWikiAttachment attachment)
     {
         // TODO This will cause a new FileItem to be created in XWikiAttachmentContent
         // but it is the only constructor available. This should be fixed in XAC.
         super(attachment);
-
         this.storageFile = storage;
-        this.lock = lock;
     }
 
     /**
@@ -75,7 +67,7 @@ public FilesystemAttachmentContent(final File storage,
     @Override
     public FilesystemAttachmentContent clone()
     {
-        return new FilesystemAttachmentContent(this.storageFile, this.getAttachment(), this.lock);
+        return new FilesystemAttachmentContent(this.storageFile, this.getAttachment());
     }
 
     /**
@@ -103,43 +95,10 @@ public FilesystemAttachmentContent clone()
      */
     public InputStream getContentInputStream()
     {
-        /** An InputStream which locks a lock while it is being read. */
-        final class LockingFileInputStream extends FileInputStream
-        {
-            /** The lock to lock while reading the file. */
-            private Lock lock;
-
-            /**
-             * The Constructor.
-             *
-             * @param toRead the file for this stream to read.
-             * @param lock the lock to lock on creation of the stream and unlock when it is closed.
-             * @throws IOException if the extended FileInputStream throws one.
-             */
-            public LockingFileInputStream(final File toRead, final Lock lock) throws IOException
-            {
-                super(toRead);
-                this.lock = lock;
-                lock.lock();
-            }
-
-            /** {@inheritDoc} */
-            public void close() throws IOException
-            {
-                // Make sure this only happens once.
-                if (this.lock != null) {
-                    super.close();
-                    this.lock.unlock();
-                    this.lock = null;
-                }
-            }
-        }
-
         try {
-            return new AutoCloseInputStream(
-                new LockingFileInputStream(this.storageFile, this.lock.readLock()));
+            return new AutoCloseInputStream(new FileInputStream(this.storageFile));
         } catch (IOException e) {
-            throw new RuntimeException("Failed to get InputStream", e);
+            throw new UnexpectedException("Failed to get InputStream", e);
         }
     }
 
diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentRecycleBinStore.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentRecycleBinStore.java
index 1b6cc55..c853c7f 100644
--- a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentRecycleBinStore.java
+++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentRecycleBinStore.java
@@ -427,9 +427,7 @@ private DeletedAttachment deletedAttachmentFromProvider(
         final File contentFile = provider.getAttachmentContentFile();
         final XWikiAttachment attachment = delAttach.getAttachment();
         attachment.setAttachment_content(
-            new FilesystemAttachmentContent(contentFile,
-                                            attachment,
-                                            this.fileTools.getLockForFile(contentFile)));
+            new FilesystemAttachmentContent(contentFile, attachment));
 
         attachment.setAttachment_archive(
             ((FilesystemAttachmentVersioningStore) this.attachmentVersionStore)
diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentStore.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentStore.java
index 02f519d..3f1af18 100644
--- a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentStore.java
+++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentStore.java
@@ -214,9 +214,7 @@ public void loadAttachmentContent(final XWikiAttachment attachment,
 
         if (attachFile.exists()) {
             attachment.setAttachment_content(
-                new FilesystemAttachmentContent(attachFile,
-                                                attachment,
-                                                this.fileTools.getLockForFile(attachFile)));
+                new FilesystemAttachmentContent(attachFile, attachment));
             return;
         }
 
diff --git a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentVersioningStore.java b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentVersioningStore.java
index d839b21..7443b56 100644
--- a/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentVersioningStore.java
+++ b/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-attachments/src/main/java/com/xpn/xwiki/store/FilesystemAttachmentVersioningStore.java
@@ -141,9 +141,7 @@ XWikiAttachmentArchive loadArchive(final XWikiAttachment attachment,
         for (XWikiAttachment attach : attachList) {
             final File contentFile = provider.getAttachmentVersionContentFile(attach.getVersion());
             attach.setAttachment_content(
-                new FilesystemAttachmentContent(contentFile,
-                                                attach,
-                                                this.fileTools.getLockForFile(contentFile)));
+                new FilesystemAttachmentContent(contentFile, attach));
             // Pass the document since it will be lost in the serialize/deserialize.
             attach.setDoc(attachment.getDoc());
         }
