diff --git a/epsacrop.module b/epsacrop.module
index 781a708174f715315b64671d8599a9fe5c037042..6b5e26fe17f6502fa4c41d33b839e57bc8e037b6 100644
--- a/epsacrop.module
+++ b/epsacrop.module
@@ -580,9 +580,15 @@ function epsacrop_form_file_entity_edit_alter(&$form, $form_state) {
   );
   $file = $form['preview']['#file'];
   $info = image_get_info($file->uri);
+  $preview_file = image_style_path('epsacrop_thumb', $file->uri);
   $setting['fid'] = $file->fid;
-  $setting['url'] = image_style_url('epsacrop_thumb', $file->uri);
-  $setting['size'] = array($info['width'], $info['height']);;
+  $setting['url'] = file_create_url($preview_file);
+  $setting['size'] = array($info['width'], $info['height']);
+
+  // Fix a strange bug when the image's name contains strange chars, like +
+  if (!file_exists($preview_file)) {
+    image_style_create_derivative(image_style_load('epsacrop_thumb'), $file->uri, $preview_file);
+  }
 
   $markup = "[<a href=\"javascript:Drupal.EPSACrop.dialog('" . $setting['entity_type'] . "', '" . $setting['field_name'] . "', '" . $setting['bundle'] . "', '" . $setting['fid'] . "', '" . $setting['url'] . "', [" . $setting['size'][0] . "," . $setting['size'][1] . "]);\" class=\"button epsacrop\">" . t("manage image crops") . "</a>]";
   $form['epsacrop'] = array(
@@ -630,9 +636,15 @@ function epsacrop_element_process($element, $form_state, $form) {
   );
   if(isset($element['#file']) && is_object($element['#file']) && $file = $element['#file']) {
     $info = image_get_info($file->uri);
+    $preview_file = image_style_path('epsacrop_thumb', $file->uri);
     $setting['fid'] = $file->fid;
-    $setting['url'] = image_style_url('epsacrop_thumb', $file->uri);
+    $setting['url'] = file_create_url($preview_file);
     $setting['size'] = array($info['width'], $info['height']);;
+
+    // Fix a strange bug when the image's name contains strange chars, like +
+    if (!file_exists($preview_file)) {
+      image_style_create_derivative(image_style_load('epsacrop_thumb'), $file->uri, $preview_file);
+    }
   }
 
   if ($element['#type'] == 'media') {
