diff --git a/ipi_extract.py b/ipi_extract.py
index 33366cd2f43e765c7d07c83d096d43ed80150bf2..6e0d5a0ed17d1881076eaf916ba5ad5248831839 100644
--- a/ipi_extract.py
+++ b/ipi_extract.py
@@ -263,6 +263,7 @@ class Callback(object):
         self.reset_b = None
         self.r_button = None
         self.ind_b = None
+        self.onaxis_b = None
         self.spec_b = None
         self.nfft = 128
         self.ind_select = False
@@ -456,6 +457,15 @@ class Callback(object):
         plt.pause(0.2)
         self.fax.get_figure().set_constrained_layout(False)
 
+    def onaxis(self, event):
+        if self.df[self.offset[self.curr_ind[self.curr], 0]]['onaxis'] == -1:
+            self.df[self.offset[self.curr_ind[self.curr], 0]]['onaxis'] = 1
+        else:
+            self.df[self.offset[self.curr_ind[self.curr], 0]]['onaxis'] ^= 1
+        self.onaxis_b.label.set_text('On-axis'
+                                     if self.df[self.offset[self.curr_ind[self.curr], 0]]['onaxis'] else 'Off-axis')
+        plt.draw()
+
     def increase_freq(self, event):
         self.view_ax[self.curr][1].set_ylim(0, self.view_ax[self.curr][1].get_ylim()[1]+1e3)
         plt.draw()
@@ -504,6 +514,9 @@ class Callback(object):
         self.view_ax[ind][0].set_xlabel(f'Sig man:{dic["ipi_sig"]:.3f}')
         self.view_ax[ind][2].set_xlabel(f'Corr man:{dic["ipi_corr_man"]:.3f} auto:{dic["ipi_corr_auto"]:.3f}')
         self.view_ax[ind][3].set_xlabel(f'Ceps man:{dic["ipi_ceps_man"]:.3f} auto:{dic["ipi_ceps_auto"]:.3f}')
+        self.ind_b.label.set_text(f'Current individual:\n{dic["ind_number"]}')
+        if self.onaxis_b is not None:
+            self.onaxis_b.label.set_text(['Off', 'On', '?'][dic['onaxis']] + '-axis')
 
     def _set_visible(self, ind=None, state=False):
         if ind is None:
@@ -720,9 +733,12 @@ def main(args):
         print(f'Out file {outpath} does not already exist and resume option is set.')
         return 1
 
+    EMLN['onaxis'] = -1
     ref_dict = init(args.input, args.channel)
     if args.resume:
         df = pd.read_hdf(outpath)
+        if 'onaxis' not in df.columns:
+            df['onaxis'] = -1
         ref_dict['callback'].df = df.to_dict(orient='index')
         ref_dict['callback'].offset = np.tile(np.array(list(ref_dict['callback'].df.keys()))[:, np.newaxis], (1,2))
         ref_dict['callback'].offset[:, 1] = ref_dict['callback'].song_resample[(ref_dict['callback'].offset[:, 1] * FSSR).astype(int)]
@@ -732,6 +748,11 @@ def main(args):
             if not np.all(pd.isnull(list(ref_dict['callback'].df[p].values()))):
                 colors[i] = [0, 0, 0, 1]
         ref_dict['callback'].scat.set_color(colors)
+
+    onaxis_b_ax = plt.subplot(ref_dict['gridspec'][-1, 8:10])
+    onaxis_b = Button(onaxis_b_ax, '?-axis')
+    onaxis_b.on_clicked(ref_dict['callback'].onaxis)
+    ref_dict['callback'].onaxis_b = onaxis_b
     plt.draw()
     plt.pause(0.2)
     ref_dict['fig'].set_constrained_layout(False)