diff --git a/plugin/drupal.vim b/plugin/drupal.vim
index 3ea5bd1..ea4bc0c 100644
--- a/plugin/drupal.vim
+++ b/plugin/drupal.vim
@@ -125,11 +125,14 @@ function! s:DrupalInit()
   let info.OPEN_COMMAND = s:OpenCommand()
   let info.TYPE = s:IniType(info.INFO_FILE)
   let info.CORE = s:CoreVersion(info.INFO_FILE)
+  " If we found only one of CORE and DRUPAL_ROOT, use it to get the other.
   if info.CORE == '' && info.DRUPAL_ROOT != ''
     let INFO_FILE = info.DRUPAL_ROOT . '/modules/system/system.info'
     if filereadable(INFO_FILE)
       let info.CORE = s:CoreVersion(INFO_FILE)
     endif
+  elseif info.DRUPAL_ROOT == '' && info.CORE != ''  && exists('g:Drupal_dirs')
+    let info.DRUPAL_ROOT = get(g:Drupal_dirs, info.CORE, '')
   endif
 
   " @var b:Drupal_info
