diff -ru a/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java b/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
--- a/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java	2023-08-17 08:57:33.774646000 +0200
+++ b/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java	2023-08-17 08:58:04.742578713 +0200
@@ -76,7 +76,7 @@
         }
         if (bob != null) {
           String selectedProduct = event.getId();
-          if (!checkImageUtilization(selectedProduct, bob)) {
+          if (!checkImageUtilization(selectedProduct,imageProperty.getName() ,bob)) {
             OBContext.setAdminMode(true);
             try {
               OBDal.getInstance().remove(bob);
@@ -147,7 +147,7 @@
       if (event.getPreviousState(imageProperty) != null
           && event.getCurrentState(imageProperty) != event.getPreviousState(imageProperty)) {
         String selectedProduct = event.getId();
-        if (!checkImageUtilization(selectedProduct, bob)) {
+        if (!checkImageUtilization(selectedProduct, imageProperty.getName(), bob)) {
           OBContext.setAdminMode(true);
           try {
             OBDal.getInstance().remove(bob);
@@ -178,9 +178,9 @@
   }
 
   // Check if this image is used by another product
-  private static boolean checkImageUtilization(String productId, Image bob) {
+  private static boolean checkImageUtilization(String productId, String imagePropertyName, Image bob) {
     final OBCriteria<Product> obCriteria = OBDal.getInstance().createCriteria(Product.class);
-    obCriteria.add(Restrictions.eq(Product.PROPERTY_IMAGE, bob));
+    obCriteria.add(Restrictions.eq(imagePropertyName, bob));
     obCriteria.add(Restrictions.ne(Product.PROPERTY_ID, productId));
     obCriteria.setFilterOnActive(false);
     obCriteria.setFilterOnReadableClients(false);
