anchor.diff:  do(State) ->
       ?INFO("Dialyzer starting, this may take a while...", []),
       BuildDir = rebar_state:get(State, base_dir, ?DEFAULT_BASE_DIR),
  -    {ProjectPlt, _DepPlt} = get_plt_location(BuildDir),
  +    {ProjectPlt, DepPlt} = get_plt_location(BuildDir),
       Apps = rebar_state:project_apps(State),
  -    ?INFO("Doing plt for project apps...", []),
  +    Deps = rebar_state:get(State, all_deps, []),
   
       try
  +        ?INFO("Doing plt for dependencies...", []),
  +        update_dep_plt(State, DepPlt, Deps),
  +        ?INFO("Doing plt for project apps...", []),
           update_dep_plt(State, ProjectPlt, Apps),
           WarningTypes = rebar_state:get(State, dialyzer_warnings, default_warnings()),
           Paths = [filename:join(rebar_app_info:dir(App), "ebin") || App <- Apps],
  
positive.code:     Opts0 =
          case filelib:is_file(DepPlt) of
              true ->
                  ?INFO("Plt is built, checking/updating ...", []),
                  [{analysis_type, plt_check},
                   {plts, [DepPlt]}];
              false ->
                  ?INFO("Building the plt, this is really going to "
                                 "take a long time ...", []),
                  [{analysis_type, plt_build},
                   {output_plt, DepPlt}]
          end,
  
negative.code:                 {from, byte_code},
                  {files_rec, Paths},
                  {warnings, WarningTypes},
                  {plts, [ProjectPlt, DepPlt]}],
  
          case dialyzer:run(Opts) of
              [] ->
  