diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in
index 21bc4e8..35f2632 100644
--- a/cachegrind/cg_annotate.in
+++ b/cachegrind/cg_annotate.in
@@ -747,7 +747,9 @@
 
         my $opened_file = "";
         my $full_file_name = "";
-        foreach my $include_dir (@include_dirs) {
+        # We first try it with the empty include_dir, in case the filename has
+        # the full path.
+        foreach my $include_dir ("", @include_dirs) {
             my $try_name = $include_dir . $src_file;
             if (open(INPUTFILE, "< $try_name")) {
                 $opened_file    = $try_name;
diff --git a/cachegrind/cg_main.c b/cachegrind/cg_main.c
index 345a6cb..bd9016b 100644
--- a/cachegrind/cg_main.c
+++ b/cachegrind/cg_main.c
@@ -208,10 +208,12 @@
 static void get_debug_info(Addr instr_addr, Char file[FILE_LEN],
                            Char fn[FN_LEN], Int* line)
 {
+   Char dir[FILE_LEN];
+   Bool found_dirname;
    Bool found_file_line = VG_(get_filename_linenum)(
                              instr_addr, 
                              file, FILE_LEN,
-                             NULL, 0, NULL,
+                             dir,  FILE_LEN, &found_dirname,
                              line
                           );
    Bool found_fn        = VG_(get_fnname)(instr_addr, fn, FN_LEN);
@@ -223,6 +225,15 @@
    if (!found_fn) {
       VG_(strcpy)(fn,  "???");
    }
+
+   if (found_dirname) {
+      // +1 for the '/'.
+      tl_assert(VG_(strlen)(dir) + VG_(strlen)(file) + 1 < FILE_LEN);
+      VG_(strcat)(dir, "/");     // Append '/'
+      VG_(strcat)(dir, file);    // Append file to dir
+      VG_(strcpy)(file, dir);    // Move dir+file to file
+   }
+   
    if (found_file_line) {
       if (found_fn) full_debugs++;
       else          file_line_debugs++;
