diff --git a/core/Plugin/Tasks.php b/core/Plugin/Tasks.php
index f689ce907a27891b2e6dd1ec98ffdbf0a657bf24..4af344db14a042bfc70cde7b98a0a7c8aaed48eb 100644
--- a/core/Plugin/Tasks.php
+++ b/core/Plugin/Tasks.php
@@ -58,7 +58,7 @@ class Tasks
      */
     protected function hourly($methodName, $methodParameter = null, $priority = self::NORMAL_PRIORITY)
     {
-        return $this->custom($this, $methodName, $methodParameter, 'hourly', $priority);
+        return $this->custom(get_class($this), $methodName, $methodParameter, 'hourly', $priority);
     }
 
     /**
@@ -69,7 +69,7 @@ class Tasks
      */
     protected function daily($methodName, $methodParameter = null, $priority = self::NORMAL_PRIORITY)
     {
-        return $this->custom($this, $methodName, $methodParameter, 'daily', $priority);
+        return $this->custom(get_class($this), $methodName, $methodParameter, 'daily', $priority);
     }
 
     /**
@@ -80,7 +80,7 @@ class Tasks
      */
     protected function weekly($methodName, $methodParameter = null, $priority = self::NORMAL_PRIORITY)
     {
-        return $this->custom($this, $methodName, $methodParameter, 'weekly', $priority);
+        return $this->custom(get_class($this), $methodName, $methodParameter, 'weekly', $priority);
     }
 
     /**
@@ -91,7 +91,7 @@ class Tasks
      */
     protected function monthly($methodName, $methodParameter = null, $priority = self::NORMAL_PRIORITY)
     {
-        return $this->custom($this, $methodName, $methodParameter, 'monthly', $priority);
+        return $this->custom(get_class($this), $methodName, $methodParameter, 'monthly', $priority);
     }
 
     /**
@@ -122,10 +122,6 @@ class Tasks
             throw new \Exception('$time should be an instance of ScheduledTime');
         }
 
-        if (!is_string($objectOrClassName)) {
-            $objectOrClassName = get_class($objectOrClassName);
-        }
-
         $this->scheduleTask(new ScheduledTask($objectOrClassName, $methodName, $methodParameter, $time, $priority));
 
         return $time;
diff --git a/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php b/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
index d5fdeca1f515186e9590f5590d0667ca969d61a9..3914ff2546b540e04845b96f0fd107db715ca46e 100644
--- a/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
+++ b/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
@@ -10,6 +10,7 @@ use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging;
 use Piwik\Plugins\MobileMessaging\MobileMessaging;
 use Piwik\Plugins\ScheduledReports\API as APIScheduledReports;
 use Piwik\Plugins\ScheduledReports\Menu;
+use Piwik\Plugins\ScheduledReports\Tasks;
 use Piwik\Plugins\ScheduledReports\ScheduledReports;
 use Piwik\Plugins\SitesManager\API as APISitesManager;
 use Piwik\ScheduledTask;
@@ -383,9 +384,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
             new ScheduledTask (APIScheduledReports::getInstance(), 'sendReport', 5, $scheduleTask4),
         );
 
-        $pdfReportPlugin = new ScheduledReports();
-        $tasks = array();
-        $pdfReportPlugin->getScheduledTasks($tasks);
+        $pdfReportPlugin = new Tasks();
+        $pdfReportPlugin->schedule();
+        $tasks = $pdfReportPlugin->getScheduledTasks();
         $this->assertEquals($expectedTasks, $tasks);
 
         \Piwik\Plugins\ScheduledReports\API::unsetInstance();