diff --git a/nfvo.py b/nfvo.py
index 0d60ff7..279eb07 100644
--- a/nfvo.py
+++ b/nfvo.py
@@ -296,9 +296,9 @@
                 #logger.debug('>>>>>>>> Filter dict: %s', str(filter_dict))
                 vim_images = vim.get_image_list(filter_dict)
                 if len(vim_images) > 1:
-                    raise NfvoException("More than one candidate VIM image found for filter: " + str(filter_dict), HTTP_Conflict)
+                    raise vimconn.vimconnException("More than one candidate VIM image found for filter: {}".format(str(filter_dict)), HTTP_Conflict)
                 elif len(vim_images) == 0:
-                    raise NfvoException("Image not found at VIM with filter: '%s'", str(filter_dict))
+                    raise vimconn.vimconnNotFoundException("Image not found at VIM with filter: '{}'".format(str(filter_dict)))
                 else:
                     image_vim_id = vim_images[0].id
 
diff --git a/vimconn_openstack.py b/vimconn_openstack.py
index cdd1178..addee3a 100644
--- a/vimconn_openstack.py
+++ b/vimconn_openstack.py
@@ -652,7 +652,7 @@
             filtered_list = []
             for image in image_list:
                 image_dict=self.glance.images.get(image.id)
-                if image_dict['checksum']==filter_dict.get('checksum'):
+                if filter_dict.get('checksum') == None or image_dict['checksum']==filter_dict.get('checksum'):
                     filtered_list.append(image)
             return filtered_list
         except (ksExceptions.ClientException, nvExceptions.ClientException, gl1Exceptions.CommunicationError, ConnectionError) as e:
