diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
index fc43d19537f09ac2e1a0eced3873e175044ab67c..36a9c7cd343510f88d47a945db444f1992e3ee7a 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
@@ -48,11 +48,17 @@
 import org.eclipse.jgit.util.NB;
 import org.eclipse.jgit.util.RawParseUtils;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
 /**
  * A SHA-1 abstraction.
  */
-public class ObjectId extends AnyObjectId {
-	private static final ObjectId ZEROID;
+public class ObjectId extends AnyObjectId implements Serializable {
+	private static final long serialVersionUID = 1L;
+        private static final ObjectId ZEROID;
 
 	private static final String ZEROID_STR;
 
@@ -271,4 +277,20 @@ protected ObjectId(final AnyObjectId src) {
 	public ObjectId toObjectId() {
 		return this;
 	}
+
+	private void writeObject(ObjectOutputStream os)  throws IOException {
+		os.writeInt(w1);
+		os.writeInt(w2);
+		os.writeInt(w3);
+		os.writeInt(w4);
+		os.writeInt(w5);
+	}
+
+        private void readObject(ObjectInputStream ois)  throws IOException {
+		w1 = ois.readInt();
+		w2 = ois.readInt();
+		w3 = ois.readInt();
+		w4 = ois.readInt();
+		w5 = ois.readInt();
+	}
 }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java
index ca6f01500b140a25e2aa7c701cf46e3f31739c36..1b4d3c615dbf60676e44a2943ebf486f4f34898e 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java
@@ -44,6 +44,7 @@
 package org.eclipse.jgit.transport;
 
 import java.text.MessageFormat;
+import java.io.Serializable;
 
 import org.eclipse.jgit.JGitText;
 import org.eclipse.jgit.lib.Constants;
@@ -55,8 +56,10 @@
  * A ref specification provides matching support and limited rules to rewrite a
  * reference in one repository to another reference in another repository.
  */
-public class RefSpec {
-	/**
+public class RefSpec implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+        /**
 	 * Suffix for wildcard ref spec component, that indicate matching all refs
 	 * with specified prefix.
 	 */
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java
index 28e1cd967e4898afea125d1a63aa4ed54cd1f8f5..3df56c696d624970109edbc62494ffaeba22a8f5 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java
@@ -45,6 +45,7 @@
 
 package org.eclipse.jgit.transport;
 
+import java.io.Serializable;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -60,7 +61,9 @@
  * describing how refs should be transferred between this repository and the
  * remote repository.
  */
-public class RemoteConfig {
+public class RemoteConfig implements Serializable {
+	private static final long serialVersionUID = 1L;
+
 	private static final String SECTION = "remote";
 
 	private static final String KEY_URL = "url";
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
index 5939bc2f2810d13ca4db81c5cdfbd92d7068ff00..15bd0b1dee731682aeffadebffaf499c3a921caf 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
@@ -45,6 +45,7 @@
 
 package org.eclipse.jgit.transport;
 
+import java.io.Serializable;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.regex.Matcher;
@@ -59,7 +60,9 @@
  * RFC 2396 URI's is that no URI encoding/decoding ever takes place. A space or
  * any special character is written as-is.
  */
-public class URIish {
+public class URIish implements Serializable {
+	private static final long serialVersionUID = 1L;
+
 	private static final Pattern FULL_URI = Pattern
 			.compile("^(?:([a-z][a-z0-9+-]+)://(?:([^/]+?)(?::([^/]+?))?@)?(?:([^/]+?))?(?::(\\d+))?)?((?:[A-Za-z]:)?/.+)$");