diff --git a/request-packet.go b/request-packet.go
index fe76c43..c5d4792 100644
--- a/request-packet.go
+++ b/request-packet.go
@@ -32,6 +32,10 @@
 	isOpener()
 }
 
+type notReadOnly interface {
+	notReadOnly()
+}
+
 //// define types by adding methods
 // hasPath
 func (p sshFxpLstatPacket) getPath() string    { return p.Path }
@@ -59,6 +63,16 @@
 func (p sshFxpWritePacket) getHandle() string    { return p.Handle }
 func (p sshFxpReaddirPacket) getHandle() string  { return p.Handle }
 
+// notReadOnly
+func (p sshFxpWritePacket) notReadOnly()    {}
+func (p sshFxpSetstatPacket) notReadOnly()  {}
+func (p sshFxpFsetstatPacket) notReadOnly() {}
+func (p sshFxpRemovePacket) notReadOnly()   {}
+func (p sshFxpMkdirPacket) notReadOnly()    {}
+func (p sshFxpRmdirPacket) notReadOnly()    {}
+func (p sshFxpRenamePacket) notReadOnly()   {}
+func (p sshFxpSymlinkPacket) notReadOnly()  {}
+
 // this has a handle, but is only used for close
 func (p sshFxpClosePacket) getHandle() string { return p.Handle }
 
diff --git a/server.go b/server.go
index 3d0f4ac..99b89b1 100644
--- a/server.go
+++ b/server.go
@@ -143,40 +143,32 @@
 			pkt = &sshFxpReadPacket{}
 		case ssh_FXP_WRITE:
 			pkt = &sshFxpWritePacket{}
-			readonly = false
 		case ssh_FXP_FSTAT:
 			pkt = &sshFxpFstatPacket{}
 		case ssh_FXP_SETSTAT:
 			pkt = &sshFxpSetstatPacket{}
-			readonly = false
 		case ssh_FXP_FSETSTAT:
 			pkt = &sshFxpFsetstatPacket{}
-			readonly = false
 		case ssh_FXP_OPENDIR:
 			pkt = &sshFxpOpendirPacket{}
 		case ssh_FXP_READDIR:
 			pkt = &sshFxpReaddirPacket{}
 		case ssh_FXP_REMOVE:
 			pkt = &sshFxpRemovePacket{}
-			readonly = false
 		case ssh_FXP_MKDIR:
 			pkt = &sshFxpMkdirPacket{}
-			readonly = false
 		case ssh_FXP_RMDIR:
 			pkt = &sshFxpRmdirPacket{}
-			readonly = false
 		case ssh_FXP_REALPATH:
 			pkt = &sshFxpRealpathPacket{}
 		case ssh_FXP_STAT:
 			pkt = &sshFxpStatPacket{}
 		case ssh_FXP_RENAME:
 			pkt = &sshFxpRenamePacket{}
-			readonly = false
 		case ssh_FXP_READLINK:
 			pkt = &sshFxpReadlinkPacket{}
 		case ssh_FXP_SYMLINK:
 			pkt = &sshFxpSymlinkPacket{}
-			readonly = false
 		case ssh_FXP_EXTENDED:
 			pkt = &sshFxpExtendedPacket{}
 		default:
@@ -186,8 +178,10 @@
 			return err
 		}
 
-		// handle FXP_OPENDIR specially
+		// readonly checks
 		switch pkt := pkt.(type) {
+		case notReadOnly:
+			readonly = false
 		case *sshFxpOpenPacket:
 			readonly = pkt.readonly()
 		case *sshFxpExtendedPacket:
