diff --git a/pySDC/core/controller.py b/pySDC/core/controller.py
index b77790fe10abf7a02d357482d7f14725cde9b458..2549cc6221cb23d6011c2cbabeab854f1a9c7ea2 100644
--- a/pySDC/core/controller.py
+++ b/pySDC/core/controller.py
@@ -47,7 +47,7 @@ class Controller(object):
         user_hooks = controller_params.get('hook_class', [])
         hook_classes += user_hooks if type(user_hooks) == list else [user_hooks]
         [self.add_hook(hook) for hook in hook_classes]
-        controller_params['hook_class'] = controller_params.get('hook_class', hook_classes)
+        controller_params['hook_class'] = hook_classes
 
         for hook in self.hooks:
             hook.pre_setup(step=None, level_number=None)
diff --git a/pySDC/implementations/convergence_controller_classes/interpolate_between_restarts.py b/pySDC/implementations/convergence_controller_classes/interpolate_between_restarts.py
index 934588ad94fc278b1beec26f2ccc31b3fd455719..d785497a81f6dbdd48a341eb76fc4ee159421018 100644
--- a/pySDC/implementations/convergence_controller_classes/interpolate_between_restarts.py
+++ b/pySDC/implementations/convergence_controller_classes/interpolate_between_restarts.py
@@ -56,7 +56,7 @@ class InterpolateBetweenRestarts(ConvergenceController):
 
                 for m in range(len(level.u)):
                     level.u[m][:] = self.status.u_inter[i][m].reshape(level.prob.init[0])[:]
-                    level.f[m][:] = self.status.f_inter[i][m].reshape(level.prob.init[0])[:]
+                    level.f[m][:] = self.status.f_inter[i][m].reshape(level.f[m].shape)[:]
 
             # reset the status variables
             self.status.perform_interpolation = False