diff --git a/app/main/views.py b/app/main/views.py
index 1555a66c2f5c50b2a83b2db91700f4fbfbda023c..3b160249921dbfd48ea1bde9f29570791b242779 100644
--- a/app/main/views.py
+++ b/app/main/views.py
@@ -158,6 +158,11 @@ def retrieve_hosts():
 @bp.route('/_retrieve_available_ips/<network_id>')
 @login_required
 def retrieve_available_ips(network_id):
-    network = models.Network.query.get(network_id)
-    data = [str(address) for address in network.available_ips()]
+    try:
+        network = models.Network.query.get(network_id)
+    except sa.exc.DataError:
+        current_app.logger.warning(f'Invalid network_id: {network_id}')
+        data = []
+    else:
+        data = [str(address) for address in network.available_ips()]
     return jsonify(data=data)