--- /home/cpdev/src/classpath/java/awt/Canvas.java	2005-07-02 21:03:19.000000000 +0000
+++ java/awt/Canvas.java	2005-06-30 05:34:24.000000000 +0000
@@ -255,22 +255,33 @@
       throw new IllegalStateException("Canvas.createBufferStrategy: canvas is"
 				      + " not displayable");
 
-    BufferStrategy newStrategy = null;
-
     // try a flipping strategy
     try
       {
-	newStrategy = new CanvasFlipBufferStrategy(numBuffers);
+	bufferStrategy = new CanvasFlipBufferStrategy(numBuffers);
+	return;
       }
     catch (AWTException e)
       {
       }
 
-    // fall back to an accelerated blitting strategy
-    if (newStrategy == null)
-      newStrategy = new CanvasBltBufferStrategy(numBuffers, true);
+    // try an accelerated blitting strategy
+    try
+      {
+	bufferStrategy = new CanvasBltBufferStrategy(numBuffers, true);
+      }
+    catch (AWTException e)
+      {
+      }
 
-    bufferStrategy = newStrategy;
+    // fall back to an unaccelerated blitting strategy
+    try
+      {
+	bufferStrategy = new CanvasBltBufferStrategy(numBuffers, false);
+      }
+    catch (AWTException e)
+      {
+      }
   }
 
   /**
