diff -u b/print_pdf/lib_handlers/print_pdf_mpdf/print_pdf_mpdf.pages.inc b/print_pdf/lib_handlers/print_pdf_mpdf/print_pdf_mpdf.pages.inc
--- b/print_pdf/lib_handlers/print_pdf_mpdf/print_pdf_mpdf.pages.inc
+++ b/print_pdf/lib_handlers/print_pdf_mpdf/print_pdf_mpdf.pages.inc
@@ -56,12 +56,6 @@
   // $mpdf->SetProtection(array('copy', 'print', 'print-highres'), '', '');
   drupal_alter('print_pdf_mpdf', $mpdf, $html, $meta);
 
-  $css_file_path = variable_get('print_css');
-  if (!empty($css_file_path) && file_exists($css_file_path)) {
-    $stylesheet = file_get_contents($css_file_path);
-    $mpdf->WriteHTML($stylesheet, 1);
-  }
-  
   $mpdf->WriteHTML($html);
 
   // try to recover from any warning/error
@@ -94,6 +88,18 @@
    */
   drupal_alter('print_pdf_mpdf', $mpdf, $html, $meta);
 
+  $css_file_path = variable_get('print_css', PRINT_CSS_DEFAULT);
+  if (!empty($css_file_path)) {
+    $css_file_path = DRUPAL_ROOT . '/' . strtr($css_file_path, array(
+      '%t' => drupal_get_path('theme', variable_get('theme_default', 'garland')),
+    ));
+    if (!is_file($css_file_path) || !is_readable($css_file_path)) {
+      drupal_set_message(t("File %file is not readable by the web server.", array('%file' => $css_file_path)), 'warning', FALSE);
+    }
+    $stylesheet = file_get_contents($css_file_path);
+    $mpdf->WriteHTML($stylesheet, 1);
+  }
+
   $mpdf->WriteHTML($html);
 
   // Try to recover from any warning/error.
