diff --git a/release-notes/CREDITS b/release-notes/CREDITS
index 39c108a..6948c19 100644
--- a/release-notes/CREDITS
+++ b/release-notes/CREDITS
@@ -854,3 +854,7 @@
   * Reported [JACKSON-756] Problems with enums, @JsonCreator, when used as keys
     of EnumMap, regular  Map, or contents of EnumSet
    [1.9.4]
+
+Ittai Zeidman:
+  * Reported [JACKSON-775]: MissingNode.asText() should return "", not null
+   [1.9.5]
diff --git a/release-notes/VERSION b/release-notes/VERSION
index 9f9a5f5..b5eb9c8 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -11,6 +11,8 @@
   * [JACKSON-757]: further fixing (1.9.4 had partial fix)
   * [JACKSON-773]: Bug in SimpleFilterProvider constructor
    (reported by Kenny M)
+  * [JACKSON-775]: MissingNode.asText() should return "", not null
+   (reported by Ittai Z)
 
 ------------------------------------------------------------------------
 === History: ===
diff --git a/src/mapper/java/org/codehaus/jackson/node/MissingNode.java b/src/mapper/java/org/codehaus/jackson/node/MissingNode.java
index 3f7508c..20f52ec 100644
--- a/src/mapper/java/org/codehaus/jackson/node/MissingNode.java
+++ b/src/mapper/java/org/codehaus/jackson/node/MissingNode.java
@@ -32,8 +32,9 @@
     @Override
     public boolean isMissingNode() { return true; }
 
+    // as per [JACKSON-775]
     @Override
-    public String asText() { return null; }
+    public String asText() { return ""; }
     
     @Override
     public int asInt(int defaultValue) {
diff --git a/src/test/org/codehaus/jackson/node/TestJsonNode.java b/src/test/org/codehaus/jackson/node/TestJsonNode.java
index 2387fb4..13db14d 100644
--- a/src/test/org/codehaus/jackson/node/TestJsonNode.java
+++ b/src/test/org/codehaus/jackson/node/TestJsonNode.java
@@ -246,7 +246,7 @@
     {
         MissingNode n = MissingNode.getInstance();
         assertEquals(JsonToken.NOT_AVAILABLE, n.asToken());
-        assertNull(n.asText());
+        assertEquals("", n.asText());
         assertStandardEquals(n);
         assertEquals("", n.toString());
 
