Fix reference bug introduced with RebaseOptions implementation
diff --git a/rebase.go b/rebase.go
index 464840b..f28c7f6 100644
--- a/rebase.go
+++ b/rebase.go
@@ -84,12 +84,19 @@
 		version:           C.uint(ro.Version),
 		quiet:             C.int(ro.Quiet),
 		inmemory:          C.int(ro.InMemory),
-		rewrite_notes_ref: C.CString(ro.RewriteNotesRef),
+		rewrite_notes_ref: rewriteNotesRefToC(ro.RewriteNotesRef),
 		merge_options:     *ro.MergeOptions.toC(),
 		checkout_options:  *ro.CheckoutOptions.toC(),
 	}
 }
 
+func rewriteNotesRefToC(ref string) *C.char {
+	if ref == "" {
+		return nil
+	}
+	return C.CString(ref)
+}
+
 // Rebase object wrapper for C pointer
 type Rebase struct {
 	ptr *C.git_rebase
diff --git a/rebase_test.go b/rebase_test.go
index f76baed..38d6868 100644
--- a/rebase_test.go
+++ b/rebase_test.go
@@ -143,6 +143,12 @@
 	err = rebase.Finish()
 	checkFatal(t, err)
 
+	// Check no more rebase is in progress
+	oRebase, err = repo.RebaseOpen(nil)
+	if err == nil {
+		t.Fatal("Did not expect to find a rebase in progress")
+	}
+
 	// Check history is in correct order
 	actualHistory, err := commitMsgsList(repo)
 	checkFatal(t, err)