diff --git a/wp-print-friendly.php b/wp-print-friendly.php
index d592528f3ea27c116e594e8a7324036e89339d53..d4588b50748a874b0969c6f0249c4bc364bd81ff 100644
--- a/wp-print-friendly.php
+++ b/wp-print-friendly.php
@@ -4,7 +4,7 @@ Plugin Name: WP Print Friendly
 Plugin URI: http://www.thinkoomph.com/plugins-modules/wp-print-friendly/
 Description: Extends WordPress' template system to support printer-friendly templates. Works with permalink structures to support nice URLs.
 Author: Erick Hitter, Steven K Word & Oomph, Inc.
-Version: 0.5.3
+Version: 0.6
 Author URI: http://www.thinkoomph.com/
 
 This program is free software; you can redistribute it and/or modify
@@ -23,6 +23,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 class wp_print_friendly {
+	/**
+	 * Singleton
+	 */
+	private static $__instance = null;
+
+	/**
+	 * Class variables
+	 */
 	var $query_var = 'print';
 
 	var $ns = 'wp_print_friendly';
@@ -43,12 +51,33 @@ class wp_print_friendly {
 	var $notice_key = 'wpf_admin_notice_dismissed';
 
 	/**
-	 * Register deactivation hook and filter.
+	 * Silence is golden!
+	 */
+	private function __construct() {}
+
+	/**
+	 * Implement singleton
+	 *
+	 * @uses self::setup
+	 * @return self
+	 */
+	public static function get_instance() {
+		if ( ! is_a( self::$__instance, __CLASS__ ) ) {
+			self::$__instance = new self;
+
+			self::$__instance->setup();
+		}
+
+		return self::$__instance;
+	}
+
+	/**
+	 * Register deactivation hook and tie balance of plugin hooks to `plugins_loaded`.
 	 *
 	 * @uses register_deactivation_hook, add_filter
 	 * @return null
 	 */
-	public function __construct() {
+	private function setup() {
 		register_deactivation_hook( __FILE__, array( $this, 'deactivation_hook' ) );
 		add_action( 'plugins_loaded', array( $this, 'action_plugins_loaded' ) );
 	}
@@ -850,23 +879,23 @@ class wp_print_friendly {
 		return $before . $page . $separator . $num_pages . $after;
 	}
 }
-global $wpf;
-$wpf = new wp_print_friendly;
+wp_print_friendly::get_instance();
+
+/**
+ * Alias global variable used to hold instantiated plugin prior to singleton's introduction in version 0.6.
+ */
+$GLOBALS['wpf'] = wp_print_friendly::get_instance();
 
 /**
  * Shortcut to function for generating post's printer-friendly format URL
  *
  * @param int $post_id
  * @param int $page
- * @uses $wpf
+ * @uses wp_print_friendly::get_instance
  * @return string or bool
  */
 function wpf_get_print_url( $post_id = false, $page = false ) {
-	global $wpf;
-	if ( ! is_a( $wpf, 'wp_print_friendly' ) )
-		$wpf = new wp_print_friendly;
-
-	return $wpf->print_url( intval( $post_id ), intval( $page ) );
+	return wp_print_friendly::get_instance()->print_url( intval( $post_id ), intval( $page ) );
 }
 
 /**
@@ -884,6 +913,7 @@ function wpf_get_print_url( $post_id = false, $page = false ) {
  */
 function wpf_the_print_link( $page_link = false, $link_text = 'Print this post', $class = 'print_link', $page_link_separator = ' | ', $page_link_text = 'Print this page', $link_target = 'same' ) {
 	global $post;
+
 	$url = wpf_get_print_url( $post->ID );
 
 	$page_link = (bool)$page_link;
@@ -911,30 +941,21 @@ function wpf_the_print_link( $page_link = false, $link_text = 'Print this post',
  * @param string $before
  * @param string $separator
  * @param string $after
- * @uses $wpf
+ * @uses wp_print_friendly::get_instance
  * @return string or false
  */
 function wpf_the_page_numbers( $post_id = false, $before = 'Page ', $separator = ' of ', $after = '' ) {
-	global $wpf;
-	if ( ! is_a( $wpf, 'wp_print_friendly' ) )
-		$wpf = new wp_print_friendly;
-
-	echo $wpf->page_numbers( intval( $post_id ), $before, $separator, $after );
+	echo wp_print_friendly::get_instance()->page_numbers( intval( $post_id ), $before, $separator, $after );
 }
 
 if ( ! function_exists( 'is_print' ) ) {
 	/**
 	 * Conditional tag indicating if printer-friendly format was requested.
 	 *
-	 * @uses $wpf
+	 * @uses wp_print_friendly::get_instance
 	 * @return bool
 	 */
 	function is_print() {
-		global $wpf;
-		if ( ! is_a( $wpf, 'wp_print_friendly' ) )
-			$wpf = new wp_print_friendly;
-
-		return $wpf->is_print();
+		return wp_print_friendly::get_instance()->is_print();
 	}
 }
-?>