diff --git less.module less.module
index be42e20..fc83648 100644
--- less.module
+++ less.module
@@ -32,7 +32,7 @@ function less_menu() {
  */
 function less_css_alter(&$css) {
   $lessphp_include = '';
-  
+
   if (module_exists('libraries')) {
     if ($lessphp_path = libraries_get_path('lessphp')) {
       if (file_exists($lessphp_path .'/lessc.inc.php')) {
@@ -40,11 +40,11 @@ function less_css_alter(&$css) {
       }
     }
   }
-  
+
   if (empty($lessphp_include)) {
     $lessphp_include = 'lessphp/lessc.inc.php';
   }
-  
+
   $less_path = file_default_scheme() . '://less';
 
   // Flush compiled LESS files if developer mode is enabled
@@ -61,12 +61,16 @@ function less_css_alter(&$css) {
   foreach ($files_keys as $key => $input_file) {
 
     if (drupal_substr($input_file, -5) == '.less') {
-      
+
       $file_uri = file_uri_target($input_file);
       $css_path = $less_path . '/' . dirname($file_uri ? $file_uri : $input_file);
 
-      if (!is_dir($css_path)) {
-        drupal_mkdir($css_path, 0777, TRUE);
+      if (!file_prepare_directory($css_path)) {
+        // There is a problem with the directory.
+        $param = array('%dir' => $css_path);
+        drupal_set_message(t('LESS could not create a directory in %dir', $param), 'error');
+        watchdog('less', r('LESS could not create a directory in %dir'), $param);
+        return;
       }
 
       $output_file = $css_path . '/' . basename($input_file, '.less');
