diff --git a/model_server/base/roiset.py b/model_server/base/roiset.py
index 6ef46ed0779e306d0b6b1e4137f065f394d21e57..7cd327ae2403509a5486af4eb145a6514e62dcdd 100644
--- a/model_server/base/roiset.py
+++ b/model_server/base/roiset.py
@@ -294,7 +294,7 @@ class RoiSet(object):
                 mask_largest_object(
                     obmap_patches.iat(i).data
                 )
-            )[1]
+            )[-1]
             self._df.loc[roi.Index, 'classify_by_' + name] = oc
             om[self.acc_obj_ids.data == roi.label] = oc
         self.object_class_maps[name] = InMemoryDataAccessor(om)
diff --git a/model_server/clients/imagej/adapter.py b/model_server/clients/imagej/adapter.py
index 4f977c2c7fd48a837615b573aae847be09f9374c..dba2f21ff39d9dfd644d60ec81f85b9fdde306db 100644
--- a/model_server/clients/imagej/adapter.py
+++ b/model_server/clients/imagej/adapter.py
@@ -6,6 +6,7 @@ import httplib
 import json
 import urllib
 
+from ij import IJ
 from ij import ImagePlus
 
 HOST = '127.0.0.1'
@@ -36,6 +37,28 @@ def hit_endpoint(method, endpoint, params=None):
         content = {'str': str(resp_str)}
     return {'status': resp.status, 'content': content}
 
+
+def verify_server(popup=True):
+    try:
+        resp = hit_endpoint('GET', '/')
+    except Exception as e:
+        print(e)
+        msg = 'Could not find server at: ' + uri
+        IJ.log(msg)
+        if popup:
+            IJ.error(msg)
+            raise e
+        return False
+    if resp['status'] != 200:
+        msg = 'Unknown error verifying server at: ' + uri
+        if popup:
+            IJ.error(msg)
+            raise Exception(msg)
+        return False
+    else:
+        IJ.log('Verified server is online at: ' + uri)
+        return True
+
 def run_request_sequence(imp, func, params):
     """
     Execute a sequence of client requests in the ImageJ scripting environment
diff --git a/model_server/scripts/run_server.py b/model_server/scripts/run_server.py
index b40ff2b399008f26f24d1d0ab5bf205650b03c95..2ca5e559019e3444c3f135450db749736e88bf29 100644
--- a/model_server/scripts/run_server.py
+++ b/model_server/scripts/run_server.py
@@ -27,6 +27,11 @@ def parse_args():
         action='store_true',
         help='display extra information that is helpful for debugging'
     )
+    parser.add_argument(
+        '--reload',
+        action='store_true',
+        help='automatically restart server when changes are noticed, for development purposes'
+    )
     return parser.parse_args()
 
 
@@ -41,8 +46,9 @@ def main(args, app_name='model_server.base.api:app') -> None:
             'host': args.host,
             'port': int(args.port),
             'log_level': 'debug',
+            'reload': args.reload,
         },
-        daemon=True,
+        daemon=(args.reload is False),
     )
     url = f'http://{args.host}:{int(args.port):04d}/status'
     print(url)