diff --git a/src/mio.py b/src/mio.py
index bde8a138a93b48df021c19b1895eed540f94be3f..243477f82f9118eedb2afd7b9d57a3c21d0aa3f8 100755
--- a/src/mio.py
+++ b/src/mio.py
@@ -115,6 +115,8 @@ if __name__ == '__main__':
 
     rules = mio.repository.Repository(find_and_parse)
 
+    rpm_result = None
+    
     if options.list:
         # List all targets reachable from the given source files
         for url in options.list:
@@ -141,7 +143,7 @@ if __name__ == '__main__':
         if not options.noyum:
             log(NORMAL, "Testing rpms")
             installer.test_rpms(options.path)
-
+ 
         log(NORMAL, "Testing files")
         installer.test_groups(options.prefix)
         
@@ -152,9 +154,13 @@ if __name__ == '__main__':
 
         if not options.noyum:
             log(NORMAL, "Installing rpms")
-            installer.install_rpms(options.path)
+            rpm_result = installer.install_rpms(options.path)
 
         log(NORMAL, "Installing files")
         installer.install_groups(options.prefix,
                                  (options.backup, options.backup_suffix))
 
+    if rpm_result:
+        for r in rpm_result:
+            print "Failed to install %s" % r
+        exit(1)
diff --git a/src/mio/installer.py b/src/mio/installer.py
index 9bd45092ddc44276c32ad2d46f9592225184858e..01978d28ef82f2f5a435b1100b2011286199a4c3 100755
--- a/src/mio/installer.py
+++ b/src/mio/installer.py
@@ -153,11 +153,16 @@ class Installer:
                 rpm.append(r.name)
         rpm.sort()
         mio.yum.run(path + self.rpmdir, rpm)
-        #mio.yum.run(self.rpmdir, rpm)
         version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
             r.new_version = version_db[r.name]
-        
+
+        result = []
+        for r in rpm:
+            if version_db[r] == None:
+                result.append(r)
+        return result
+            
     def install_groups(self, prefix, backup):
         for g in self.group:
             g.install(prefix, backup)