diff --git a/src/pair.h b/src/pair.h
index 3f66c6095a8199b8b4530761af014854efce0914..dd859e5f2a07ca2b99ba288302a03b2f17d1cbbe 100644
--- a/src/pair.h
+++ b/src/pair.h
@@ -194,8 +194,8 @@ class Pair : protected Pointers {
   int num_tally_compute;
   class Compute **list_tally_compute;
  public:
-  void add_tally_callback(class Compute *);
-  void del_tally_callback(class Compute *);
+  virtual void add_tally_callback(class Compute *);
+  virtual void del_tally_callback(class Compute *);
 
  protected:
   int instance_me;        // which Pair class instantiation I am
diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp
index 03e55006fc44953f068609927aab53982b94edf4..e327066183174d36ace7679bc496f4e1878b0c36 100644
--- a/src/pair_hybrid.cpp
+++ b/src/pair_hybrid.cpp
@@ -169,6 +169,23 @@ void PairHybrid::compute(int eflag, int vflag)
   if (vflag_fdotr) virial_fdotr_compute();
 }
 
+
+/* ---------------------------------------------------------------------- */
+
+void PairHybrid::add_tally_callback(Compute *ptr)
+{
+  for (int m = 0; m < nstyles; m++)
+    styles[m]->add_tally_callback(ptr);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void PairHybrid::del_tally_callback(Compute *ptr)
+{
+  for (int m = 0; m < nstyles; m++)
+    styles[m]->del_tally_callback(ptr);
+}
+
 /* ---------------------------------------------------------------------- */
 
 void PairHybrid::compute_inner()
diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h
index e3de3b022a4d1bcf2a300a44c74d65fd7d92e5d1..8fd0b9e4e032bbe54da0b77631451112b7aa2e23 100644
--- a/src/pair_hybrid.h
+++ b/src/pair_hybrid.h
@@ -55,6 +55,9 @@ class PairHybrid : public Pair {
 
   int check_ijtype(int, int, char *);
 
+  virtual void add_tally_callback(class Compute *);
+  virtual void del_tally_callback(class Compute *);
+
  protected:
   int nstyles;                  // # of sub-styles
   Pair **styles;                // list of Pair style classes