--- t/manip.t~  2012-09-27 18:32:39.000000000 +0200
+++ t/manip.t   2014-10-18 17:07:57.145336495 +0200
@@ -18,8 +18,11 @@
        $manip_bad = 'Date::Manip cannot determine time zone'
            unless eval 'Date::Manip::Date_TimeZone(); 1';
    }
-    delete $INC{'Date/Manip.pm'};
-    %Date::Manip:: = ();
+    if ($manip_bad) {
+       # Clean up %INC and symbol table
+        delete $INC{'Date/Manip.pm'};
+       %Date::Manip:: = ();
+    }
}

my $t = 'first thursday in june 2003';
--- t/funcs.t~  2012-09-27 18:32:39.000000000 +0200
+++ t/funcs.t   2014-10-18 17:03:16.345329214 +0200
@@ -17,13 +17,17 @@
my $manip_notz;
BEGIN {
    $manip_bad = eval('use Date::Manip (); 1')? 0 : 1;
-    unless ($manip_bad)
+    if ($manip_bad)
+    {
+        # Clean up %INC and symbol table
+        delete $INC{'Date/Manip.pm'};
+        %Date::Manip:: = ();
+    }
+    else
    {
        # If Date::Manip can't determine the time zone, it'll bomb out of the tests.
        $manip_notz = eval ('Date::Manip::Date_TimeZone (); 1')? 0 : 1;
    }
-    delete $INC{'Date/Manip.pm'};
-    %Date::Manip:: = ();
}

# Get day/month names in current locale
--- t/doc.t~    2012-09-27 18:32:39.000000000 +0200
+++ t/doc.t     2014-10-18 18:08:12.949430255 +0200
@@ -14,13 +14,17 @@
BEGIN
{
    $dm_notok = eval('use Date::Manip (); 1')? 0 : 1;
-    unless ($dm_notok)
+    if ($dm_notok)
+    {
+        # Clean up %INC and symbol table
+        delete $INC{'Date/Manip.pm'};
+        %Date::Manip:: = ();
+    }
+    else
    {
        # If Date::Manip can't determine the time zone, it'll bomb out of the tests.
        $dm_notz = eval('Date::Manip::Date_TimeZone (); 1')? 0 : 1;
    }
-    delete $INC{'Date/Manip.pm'};
-    %Date::Manip:: = ();
}

# Were all variables imported? (3)