get_query_var() returns an empty string regardless of whether or not the query var key appears in the array. When no specific print page is requested, this causes is_print() to fail.
See http://wordpress.org/support/topic/plugin-wp-print-friendly-redirects-back-to-original-article and http://www.thinkoomph.com/plugins-modules/wp-print-friendly/comment-page-3/#comment-71090