diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
index d63039f..04a3c02 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
@@ -68,6 +68,7 @@
 
 
     public boolean performAction( HttpServletRequest request, HttpServletResponse response )
+    throws IOException
     {
 
         // get the uploaded data
@@ -162,6 +163,7 @@
 
 
     private void installBundle( String location, File bundleFile, int startLevel, boolean start, boolean refreshPackages )
+    throws IOException
     {
         if ( bundleFile != null )
         {
@@ -171,7 +173,7 @@
             if ( symbolicName == null )
             {
                 bundleFile.delete();
-                return;
+                throw new IOException(Constants.BUNDLE_SYMBOLICNAME + " header missing, cannot install bundle");
             }
 
             // check for existing bundle first
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
index 0a55361..86aa767 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
@@ -359,7 +359,7 @@
 
     //---------- internal
 
-    protected boolean handleAction( HttpServletRequest req, HttpServletResponse resp ) throws IOException
+    protected boolean handleAction( HttpServletRequest req, HttpServletResponse resp ) throws IOException, ServletException
     {
         // check action
         String actionName = AbstractWebConsolePlugin.getParameter( req, Util.PARAM_ACTION );
@@ -376,10 +376,12 @@
                 catch ( IOException ioe )
                 {
                     log.log( LogService.LOG_WARNING, ioe.getMessage(), ioe );
+                    throw ioe;
                 }
                 catch ( ServletException se )
                 {
                     log.log( LogService.LOG_WARNING, se.getMessage(), se.getRootCause() );
+                    throw se;
                 }
 
                 // maybe overwrite redirect
