diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index d973785..3fa2acb 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -59,7 +59,8 @@
     status_t            appendFrom(const Parcel *parcel,
                                    size_t start, size_t len);
 
-    bool                setAllowFds(bool allowFds);
+    bool                pushAllowFds(bool allowFds);
+    void                restoreAllowFds(bool lastValue);
 
     bool                hasFileDescriptors() const;
 
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 9552c1c..608877e 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -447,13 +447,20 @@
     return err;
 }
 
-bool Parcel::setAllowFds(bool allowFds)
+bool Parcel::pushAllowFds(bool allowFds)
 {
     const bool origValue = mAllowFds;
-    mAllowFds = allowFds;
+    if (!allowFds) {
+        mAllowFds = false;
+    }
     return origValue;
 }
 
+void Parcel::restoreAllowFds(bool lastValue)
+{
+    mAllowFds = lastValue;
+}
+
 bool Parcel::hasFileDescriptors() const
 {
     if (!mFdsKnown) {
