diff --git a/sites/all/modules/caption_filter/caption_filter.module b/sites/all/modules/caption_filter/caption_filter.module
index 783bf8e..6c48ecb 100644
--- a/sites/all/modules/caption_filter/caption_filter.module
+++ b/sites/all/modules/caption_filter/caption_filter.module
@@ -110,12 +110,12 @@ function _caption_filter_get_width($item) {
             // Remove any query string attached to the images, as query strings
             // break getimagesize()
             if (!empty($parts['query'])) {
-              $local_path = DRUPAL_ROOT . str_replace('?'. $parts['query'], '', $src);
-            }
-            else {
-              $local_path = DRUPAL_ROOT . $src;
+              $src = str_replace('?'. $parts['query'], '', $src);
             }
             
+            // Decode URL-encoded strings
+            $local_path = DRUPAL_ROOT . rawurldecode($src);
+            
             list($width) = getimagesize($local_path);
           }
           else {
