--- a/imce_filefield.inc
+++ b/imce_filefield.inc
@@ -121,7 +121,11 @@
  */
 function _imce_filefield_field_pre_render(&$element) {
   imce_filefield_jscss();
-  $jset['imce_filefield']['fields'][preg_replace('/\-upload$/', '', $element['#id'])] = array('path' => $element['#entity_type']  . '/' . $element['#bundle'] . '/' . $element['#field_name']);
+	// Get the field instance for settings and add initial directory if set
+  $instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
+	$jset['imce_filefield']['fields'][preg_replace('/\-upload$/', '', $element['#id'])] = array(
+		'path' => $element['#entity_type']  . '/' . $element['#bundle'] . '/' . $element['#field_name'],
+    'dir' => !empty($instance['widget']['settings']['imce_filefield_dir']) ? $instance['widget']['settings']['imce_filefield_dir'] : '',
+	);
   drupal_add_js($jset, 'setting');
   if (!empty($element['#value']['fid'])) {
     $element['imce_filefield_fid']['#access'] = FALSE;


--- a/imce_filefield.js
+++ b/imce_filefield.js
@@ -9,6 +9,10 @@
   var set = settings.imce_filefield;
   if (!set || !set.fields) return;
   $.each(set.fields, function(fieldID, conf) {
+	  var dir = '';
+	  if (conf.dir) {
+	    dir = '&dir=' + conf.dir;
+	  }
     // Check imce submit button. Not checking file input because it's ID changes on error.
     var $button = $('#' + fieldID + '-imce-filefield-submit', context);
     if (!$button.length) {
@@ -28,7 +32,7 @@
     // 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.


--- 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),
+          ),
+        ),
+      ),
+    );
   }
 }