Index: cpukit/score/include/rtems/score/scheduler.h
===================================================================
--- cpukit/score/include/rtems/score/scheduler.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/scheduler.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -85,5 +85,5 @@
 
   /** @see _Scheduler_Update_priority() */
-  Scheduler_Void_or_thread ( *update_priority )(
+  void ( *update_priority )(
     const Scheduler_Control *,
     Thread_Control *,
Index: cpukit/score/include/rtems/score/scheduleredf.h
===================================================================
--- cpukit/score/include/rtems/score/scheduleredf.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/scheduleredf.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -151,5 +151,5 @@
 );
 
-Scheduler_Void_or_thread _Scheduler_EDF_Update_priority(
+void _Scheduler_EDF_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulerpriority.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerpriority.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulerpriority.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -135,5 +135,5 @@
 );
 
-Scheduler_Void_or_thread _Scheduler_priority_Update_priority(
+void _Scheduler_priority_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulerpriorityaffinitysmp.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -120,11 +120,5 @@
 );
 
-/**
- * @brief Update priority for the priority affinity SMP scheduler.
- *
- * @param[in] scheduler The scheduler of the thread.
- * @param[in] the_thread The associated thread.
- */
-Thread_Control *_Scheduler_priority_affinity_SMP_Update_priority(
+void _Scheduler_priority_affinity_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulerprioritysmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerprioritysmp.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulerprioritysmp.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -121,5 +121,5 @@
 );
 
-Thread_Control *_Scheduler_priority_SMP_Update_priority(
+void _Scheduler_priority_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulersimple.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersimple.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulersimple.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -111,5 +111,5 @@
 );
 
-Scheduler_Void_or_thread _Scheduler_simple_Update_priority(
+void _Scheduler_simple_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulersimplesmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersimplesmp.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulersimplesmp.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -104,5 +104,5 @@
 );
 
-Thread_Control *_Scheduler_simple_SMP_Update_priority(
+void _Scheduler_simple_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/include/rtems/score/schedulersmpimpl.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersmpimpl.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulersmpimpl.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -1012,5 +1012,5 @@
 }
 
-static inline Thread_Control *_Scheduler_SMP_Update_priority(
+static inline void _Scheduler_SMP_Update_priority(
   Scheduler_Context               *context,
   Thread_Control                  *thread,
@@ -1025,5 +1025,4 @@
 )
 {
-  Thread_Control          *needs_help;
   Priority_Control         new_priority;
   bool                     prepend_it;
@@ -1037,5 +1036,5 @@
     }
 
-    return NULL;
+    return;
   }
 
@@ -1048,7 +1047,7 @@
 
     if ( prepend_it ) {
-      needs_help = ( *enqueue_scheduled_lifo )( context, node );
+      ( *enqueue_scheduled_lifo )( context, node );
     } else {
-      needs_help = ( *enqueue_scheduled_fifo )( context, node );
+      ( *enqueue_scheduled_fifo )( context, node );
     }
   } else if ( node_state == SCHEDULER_SMP_NODE_READY ) {
@@ -1058,7 +1057,7 @@
 
     if ( prepend_it ) {
-      needs_help = ( *enqueue_lifo )( context, node, NULL );
+      ( *enqueue_lifo )( context, node, NULL );
     } else {
-      needs_help = ( *enqueue_fifo )( context, node, NULL );
+      ( *enqueue_fifo )( context, node, NULL );
     }
   } else {
@@ -1068,9 +1067,5 @@
       ( *ask_for_help )( context, thread, node );
     }
-
-    needs_help = NULL;
-  }
-
-  return needs_help;
+  }
 }
 
Index: cpukit/score/include/rtems/score/schedulerstrongapa.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerstrongapa.h	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/include/rtems/score/schedulerstrongapa.h	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -121,5 +121,5 @@
 );
 
-Thread_Control *_Scheduler_strong_APA_Update_priority(
+void _Scheduler_strong_APA_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
Index: cpukit/score/src/scheduleredfchangepriority.c
===================================================================
--- cpukit/score/src/scheduleredfchangepriority.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/scheduleredfchangepriority.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -37,5 +37,5 @@
 }
 
-Scheduler_Void_or_thread _Scheduler_EDF_Update_priority(
+void _Scheduler_EDF_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
@@ -50,5 +50,5 @@
   if ( !_Thread_Is_ready( the_thread ) ) {
     /* Nothing to do */
-    SCHEDULER_RETURN_VOID_OR_NULL;
+    return;
   }
 
@@ -58,5 +58,5 @@
   if ( priority == the_node->priority ) {
     /* Nothing to do */
-    SCHEDULER_RETURN_VOID_OR_NULL;
+    return;
   }
 
@@ -73,5 +73,3 @@
 
   _Scheduler_EDF_Schedule_body( scheduler, the_thread, false );
-
-  SCHEDULER_RETURN_VOID_OR_NULL;
 }
Index: cpukit/score/src/schedulerpriorityaffinitysmp.c
===================================================================
--- cpukit/score/src/schedulerpriorityaffinitysmp.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulerpriorityaffinitysmp.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -519,8 +519,5 @@
 }
 
-/*
- * This is the public scheduler specific Change Priority operation.
- */
-Thread_Control *_Scheduler_priority_affinity_SMP_Update_priority(
+void _Scheduler_priority_affinity_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *thread,
@@ -529,7 +526,6 @@
 {
   Scheduler_Context *context = _Scheduler_Get_context( scheduler );
-  Thread_Control    *displaced;
-
-  displaced = _Scheduler_SMP_Update_priority(
+
+  _Scheduler_SMP_Update_priority(
     context,
     thread,
@@ -548,6 +544,4 @@
    */
   _Scheduler_priority_affinity_SMP_Check_for_migrations( context );
-
-  return displaced;
 }
 
Index: cpukit/score/src/schedulerprioritychangepriority.c
===================================================================
--- cpukit/score/src/schedulerprioritychangepriority.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulerprioritychangepriority.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -22,5 +22,5 @@
 #include <rtems/score/schedulerpriorityimpl.h>
 
-Scheduler_Void_or_thread _Scheduler_priority_Update_priority(
+void _Scheduler_priority_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
@@ -35,5 +35,5 @@
   if ( !_Thread_Is_ready( the_thread ) ) {
     /* Nothing to do */
-    SCHEDULER_RETURN_VOID_OR_NULL;
+    return;
   }
 
@@ -44,5 +44,5 @@
   if ( priority == the_node->Ready_queue.current_priority ) {
     /* Nothing to do */
-    SCHEDULER_RETURN_VOID_OR_NULL;
+    return;
   }
 
@@ -77,5 +77,3 @@
 
   _Scheduler_priority_Schedule_body( scheduler, the_thread, false );
-
-  SCHEDULER_RETURN_VOID_OR_NULL;
 }
Index: cpukit/score/src/schedulerprioritysmp.c
===================================================================
--- cpukit/score/src/schedulerprioritysmp.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulerprioritysmp.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -249,5 +249,5 @@
 }
 
-Thread_Control *_Scheduler_priority_SMP_Update_priority(
+void _Scheduler_priority_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *thread,
@@ -257,5 +257,5 @@
   Scheduler_Context *context = _Scheduler_Get_context( scheduler );
 
-  return _Scheduler_SMP_Update_priority(
+  _Scheduler_SMP_Update_priority(
     context,
     thread,
Index: cpukit/score/src/schedulersimplechangepriority.c
===================================================================
--- cpukit/score/src/schedulersimplechangepriority.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulersimplechangepriority.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -22,5 +22,5 @@
 #include <rtems/score/schedulersimpleimpl.h>
 
-Scheduler_Void_or_thread _Scheduler_simple_Update_priority(
+void _Scheduler_simple_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
@@ -33,5 +33,5 @@
   if ( !_Thread_Is_ready( the_thread ) ) {
     /* Nothing to do */
-    SCHEDULER_RETURN_VOID_OR_NULL;
+    return;
   }
 
@@ -48,5 +48,3 @@
 
   _Scheduler_simple_Schedule_body( scheduler, the_thread, false );
-
-  SCHEDULER_RETURN_VOID_OR_NULL;
 }
Index: cpukit/score/src/schedulersimplesmp.c
===================================================================
--- cpukit/score/src/schedulersimplesmp.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulersimplesmp.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -316,5 +316,5 @@
 }
 
-Thread_Control *_Scheduler_simple_SMP_Update_priority(
+void _Scheduler_simple_SMP_Update_priority(
   const Scheduler_Control *scheduler,
   Thread_Control          *thread,
@@ -324,5 +324,5 @@
   Scheduler_Context *context = _Scheduler_Get_context( scheduler );
 
-  return _Scheduler_SMP_Update_priority(
+  _Scheduler_SMP_Update_priority(
     context,
     thread,
Index: cpukit/score/src/schedulerstrongapa.c
===================================================================
--- cpukit/score/src/schedulerstrongapa.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ cpukit/score/src/schedulerstrongapa.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -375,13 +375,13 @@
 }
 
-Thread_Control *_Scheduler_strong_APA_Update_priority(
-  const Scheduler_Control *scheduler,
-  Thread_Control          *the_thread,
-  Scheduler_Node          *node
-)
-{
-  Scheduler_Context *context = _Scheduler_Get_context( scheduler );
-
-  return _Scheduler_SMP_Update_priority(
+void _Scheduler_strong_APA_Update_priority(
+  const Scheduler_Control *scheduler,
+  Thread_Control          *the_thread,
+  Scheduler_Node          *node
+)
+{
+  Scheduler_Context *context = _Scheduler_Get_context( scheduler );
+
+  _Scheduler_SMP_Update_priority(
     context,
     the_thread,
Index: testsuites/smptests/smpscheduler03/init.c
===================================================================
--- testsuites/smptests/smpscheduler03/init.c	(revision 97f7dac6604b448f0c4ee10f02d192ea42bc6aaa)
+++ testsuites/smptests/smpscheduler03/init.c	(revision 9c238e1bd4bb8d3874bec65757db31d63db20d40)
@@ -200,5 +200,5 @@
 }
 
-static Thread_Control *update_priority_op(
+static void update_priority_op(
   Thread_Control *thread,
   Scheduler_SMP_Node *scheduler_node,
@@ -210,5 +210,4 @@
   ISR_lock_Context state_lock_context;
   ISR_lock_Context scheduler_lock_context;
-  Thread_Control *needs_help;
   Thread_queue_Context queue_context;
 
@@ -219,5 +218,5 @@
   _Scheduler_Acquire_critical( scheduler, &scheduler_lock_context );
 
-  needs_help = (*scheduler->Operations.update_priority)(
+  (*scheduler->Operations.update_priority)(
     scheduler,
     thread,
@@ -227,6 +226,4 @@
   _Scheduler_Release_critical( scheduler, &scheduler_lock_context );
   _Thread_State_release( thread, &state_lock_context );
-
-  return needs_help;
 }
 
@@ -241,5 +238,4 @@
 )
 {
-  Thread_Control *needs_help;
   Per_CPU_Control *cpu_self;
 
@@ -259,5 +255,5 @@
   rtems_test_assert(executing_node->state == start_state);
 
-  needs_help = update_priority_op(executing, executing_node, prio, prepend_it);
+  update_priority_op(executing, executing_node, prio, prepend_it);
   rtems_test_assert(executing_node->state == new_state);
 
@@ -265,8 +261,8 @@
     switch (start_state) {
       case SCHEDULER_SMP_NODE_SCHEDULED:
-        rtems_test_assert(needs_help == executing);
+        rtems_test_assert(cpu_self->heir == other);
         break;
       case SCHEDULER_SMP_NODE_READY:
-        rtems_test_assert(needs_help == other);
+        rtems_test_assert(cpu_self->heir == executing);
         break;
       default:
@@ -274,6 +270,4 @@
         break;
     }
-  } else {
-    rtems_test_assert(needs_help == NULL);
   }
 
