diff --git a/imce_filefield.inc b/imce_filefield.inc
index d29a07e..a3b53fb 100644
--- a/imce_filefield.inc
+++ b/imce_filefield.inc
@@ -120,7 +120,7 @@ function _imce_filefield_field_value($element, &$item, &$form_state) {
  * Pre render callback. Add page elements.
  */
 function _imce_filefield_field_pre_render(&$element) {
-  imce_filefield_jscss();
+  imce_filefield_jscss($element);
   $jset['imce_filefield']['fields'][preg_replace('/\-upload$/', '', $element['#id'])] = array('path' => $element['#entity_type']  . '/' . $element['#bundle'] . '/' . $element['#field_name']);
   drupal_add_js($jset, 'setting');
   if (!empty($element['#value']['fid'])) {
@@ -161,14 +161,23 @@ function imce_filefield_element_validate($element, $file) {
 /**
  * Adds main js, css files and settings.
  */
-function imce_filefield_jscss() {
+function imce_filefield_jscss($element) {
   static $done;
   if (!isset($done)) {
     $done = TRUE;
     $path = drupal_get_path('module', 'imce_filefield');
     drupal_add_css($path . '/imce_filefield.css');
+
+    // Get the field instance for settings and add initial directory if set
+    $instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
+
+    drupal_add_css($path . '/imce_filefield.css');
     drupal_add_js($path . '/imce_filefield.js');
-    drupal_add_js(array('imce_filefield' => array('url' => url('imce-filefield'), 'token' => !empty($GLOBALS['user']->uid) ? drupal_get_token('imce_filefield') : 'iff')), 'setting');
+    drupal_add_js(array('imce_filefield' => array(
+      'url' => url('imce-filefield'),
+      'token' => drupal_get_token('imce_filefield'),
+      'dir' => !empty($instance['widget']['settings']['imce_filefield_dir']) ? $instance['widget']['settings']['imce_filefield_dir'] : '',
+    )), 'setting');
   }
 }
 
diff --git a/imce_filefield.js b/imce_filefield.js
index 0b7f31e..fcbc5b3 100644
--- a/imce_filefield.js
+++ b/imce_filefield.js
@@ -8,6 +8,10 @@ var imce_filefield = window.imce_filefield = {queues: {}};
 Drupal.behaviors.imce_filefield = {attach: function(context, settings) {
   var set = settings.imce_filefield;
   if (!set || !set.fields) return;
+  var dir = '';
+  if (set.dir) {
+    dir = '&dir=' + set.dir;
+  }
   $.each(set.fields, function(fieldID, conf) {
     // Check imce submit button. Not checking file input because it's ID changes on error.
     var $button = $('#' + fieldID + '-imce-filefield-submit', context);
@@ -28,7 +32,7 @@ Drupal.behaviors.imce_filefield = {attach: function(context, settings) {
     // IMCE opener link.
     var $opener = $(document.createElement('a')).addClass('imce-filefield-opener').attr({href: '#'});
     $opener.text(imce_filefield.openerText()).click(function() {
-      window.open(set.url + '/' + conf.path + (set.url.indexOf('?') < 0 ? '?' : '&') + 'app=imce_filefield|imceload@imce_filefield.imceload&fieldID=' + fieldID, '', 'width=760,height=560,resizable=1');
+      window.open(set.url + '/' + conf.path + (set.url.indexOf('?') < 0 ? '?' : '&') + 'app=imce_filefield|imceload@imce_filefield.imceload&fieldID=' + fieldID + dir, '', 'width=760,height=560,resizable=1');
       return false;
     });
     // Add elements to document.
diff --git a/imce_filefield.module b/imce_filefield.module
index 6ab2a50..194e68b 100644
--- a/imce_filefield.module
+++ b/imce_filefield.module
@@ -38,12 +38,26 @@ function imce_filefield_element_info() {
 function imce_filefield_form_field_ui_field_edit_form_alter(&$form, &$form_state) {
   $instance = $form['#instance'];
   if (in_array($instance['widget']['type'], imce_filefield_supported_widgets())) {
-    $form['instance']['widget']['settings'] += array('imce_filefield_on' => array(
-      '#type' => 'checkbox', 
-      '#title' => t('Allow users to select files from <a href="!url">IMCE File Browser</a> for this field.', array('!url' => url('admin/config/media/imce'))),
-      '#default_value' => $instance['widget']['settings']['imce_filefield_on'],
-      '#weight' => 16,
-    ));
+    $form['instance']['widget']['settings'] += array(
+      'imce_filefield_on' => array(
+        '#type' => 'checkbox',
+        '#title' => t('Allow users to select files from <a href="!url">IMCE File Browser</a> for this field.', array('!url' => url('admin/config/media/imce'))),
+        '#default_value' => $instance['widget']['settings']['imce_filefield_on'],
+        '#weight' => 16.1,
+      ),
+      'imce_filefield_dir' => array(
+        '#type' => 'textfield',
+        '#title' => t('Initial IMCE Directory'),
+         '#description' => t('Optional subdirectory within the upload destination in which to launch IMCE. Do not include preceding or trailing slashes. Leave blank to use IMCE default. Use "." for upload destination root.'),
+        '#default_value' => !empty($instance['widget']['settings']['imce_filefield_dir']) ? $instance['widget']['settings']['imce_filefield_dir'] : '',
+        '#weight' => 16.2,
+        '#states' => array(
+          'visible' => array(
+            ':input[name="instance[widget][settings][imce_filefield_on]"]' => array('checked' => TRUE),
+          ),
+        ),
+      ),
+    );
   }
 }
 
