diff --git a/manifest b/manifest
index 83d6a4775f..fa8ba05add 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sbug\sthat\swas\spreventing\sthe\slibrary\sfrom\sopening\sexisting\sfiles.\s(CVS\s1358)
-D 2004-05-11T09:50:02
+C A\sdifferent\sfix\sfor\sthe\sproblem\swith\sopening\sexisting\sfiles.\s\sSee\salso\ncheck-in\s(1358).\s(CVS\s1359)
+D 2004-05-11T09:57:35
 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -63,13 +63,13 @@ F src/update.c 6ca82fc4a0fb4d7f134e961921c906f6f3c8bc74
 F src/utf.c fc799748d43fe1982d157b871e3e420a19c85d4f
 F src/util.c 778a8cd03ad6e52778602d20a3132c7d2d1b0a0c
 F src/vacuum.c c134702e023db8778e6be59ac0ea7b02315b5476
-F src/vdbe.c 85da2e53c38c334c055a8da480eb1bff74c19e94
+F src/vdbe.c 6f29fdad7dc9d2bf10c23cfbaa6f8d2e24fd0fe8
 F src/vdbe.h 2dc4d1161b64f5684faa6a2d292e318a185ecb2e
 F src/vdbeInt.h ff85e432a43eb7533b17c9cece2baaf813ba8711
 F src/vdbeaux.c cf24281436ef850da84d706f0e560ad12e9a332a
 F src/where.c 487e55b1f64c8fbf0f46a9a90c2247fc45ae6a9a
 F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
-F test/attach.test 3afaf8e3dfaf8e576070126ab087ceb9a71734c2
+F test/attach.test cb9b884344e6cfa5e165965d5b1adea679a24c83
 F test/attach2.test ce61e6185b3cd891cc0e9a4c868fcc65eb92fc55
 F test/auth.test 5c4d95cdaf539c0c236e20ce1f71a93e7dde9185
 F test/bigfile.test ea904b853ce2d703b16c5ce90e2b54951bc1ae81
@@ -188,7 +188,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
 F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 6d378cb7e7e081bb3bcd3a347bc1e02f50ee25cc
-R 3321970d5631b366601597c20640c500
-U danielk1977
-Z d4c411227edd2aba44aecc234d337019
+P ad064bd429602fcac26b377841da90a1a56f5966
+R f061dc117a5e34748765df1971f9c60c
+U drh
+Z c50d35178d634c3cc03fbe21d8e16dde
diff --git a/manifest.uuid b/manifest.uuid
index c8e6484023..2f6e2c4b47 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-ad064bd429602fcac26b377841da90a1a56f5966
\ No newline at end of file
+93deaf54c6e1daee0c89a5e2a7d4a5e712ece3f4
\ No newline at end of file
diff --git a/src/vdbe.c b/src/vdbe.c
index dbb5f4b1c1..cbe9f80eca 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.281 2004/05/11 09:31:32 drh Exp $
+** $Id: vdbe.c,v 1.282 2004/05/11 09:57:35 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -2698,6 +2698,11 @@ case OP_OpenWrite: {
         busy = 0;
         break;
       }
+      case SQLITE_EMPTY: {
+        rc = SQLITE_OK;
+        busy = 0;
+        break;
+      }
       default: {
         goto abort_due_to_error;
       }
@@ -3660,20 +3665,20 @@ case OP_Rewind: {
   int i = pOp->p1;
   Cursor *pC;
   BtCursor *pCrsr;
+  int res;
 
   assert( i>=0 && i<p->nCursor );
   pC = &p->aCsr[i];
   if( (pCrsr = pC->pCursor)!=0 ){
-    int res;
     rc = sqlite3BtreeFirst(pCrsr, &res);
     pC->atFirst = res==0;
-    pC->nullRow = res;
     pC->deferredMoveto = 0;
-    if( res && pOp->p2>0 ){
-      pc = pOp->p2 - 1;
-    }
   }else{
-    pC->nullRow = 0;
+    res = 1;
+  }
+  pC->nullRow = res;
+  if( res && pOp->p2>0 ){
+    pc = pOp->p2 - 1;
   }
   break;
 }
diff --git a/test/attach.test b/test/attach.test
index d0a74b1049..817a34dbda 100644
--- a/test/attach.test
+++ b/test/attach.test
@@ -12,7 +12,7 @@
 # focus of this script is testing the ATTACH and DETACH commands
 # and related functionality.
 #
-# $Id: attach.test,v 1.15 2004/05/11 09:31:32 drh Exp $
+# $Id: attach.test,v 1.16 2004/05/11 09:57:35 drh Exp $
 #
 
 set testdir [file dirname $argv0]