--- a/src/java/fmpp/dataloaders/HtmlUtilsDataLoader.java	2014-01-03 12:18:49.887580753 -0600
+++ b/src/java/fmpp/dataloaders/HtmlUtilsDataLoader.java	2014-01-03 12:27:02.527682248 -0600
@@ -32,7 +32,6 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import imageinfo.ImageInfo;
 import java.io.File;
 import java.io.IOException;
 import java.io.RandomAccessFile;
@@ -41,6 +40,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import javax.imageio.ImageIO;
 
 import fmpp.Engine;
 import fmpp.tdd.DataLoader;
@@ -68,7 +68,6 @@
     private Map imageInfoCache = new HashMap();
     private CachedImageInfo first;
     private CachedImageInfo last;
-    private ImageInfo imageInfo = new ImageInfo();
     
     public Object load(Engine e, List args) throws Exception {
         if (args.size() != 0) {
@@ -134,21 +133,21 @@
             }
         }
         
-        RandomAccessFile raf = new RandomAccessFile(f, "r");
+	int width = 0;
+	int height = 0;
+
         try {
-            imageInfo.setCollectComments(false);
-            imageInfo.setInput(raf);
-            if (!imageInfo.check()) {
-                throw new TemplateModelException(
-                        "Failed to analyse image file: " + cacheKey);
-            }
-        } finally {
-            raf.close();
-        }
+	    java.awt.image.BufferedImage img = ImageIO.read(f);
+	    width = img.getWidth();
+	    height = img.getHeight();
+	} catch(Exception e) {
+            throw new TemplateModelException("Failed to analyse image file: " + cacheKey);
+	} 
+
         inf = new CachedImageInfo();
         inf.lmd = f.lastModified();
-        inf.width = imageInfo.getWidth();
-        inf.height = imageInfo.getHeight();
+        inf.width = width;
+        inf.height = height;
         inf.path = cacheKey;
         if (last != null) {
             last.next = inf;
