diff --git a/pyasn1/codec/ber/decoder.py b/pyasn1/codec/ber/decoder.py
index 443dbff02dab80c3b34004f5465bb16aed346c40_cHlhc24xL2NvZGVjL2Jlci9kZWNvZGVyLnB5..e25f4f4e86bd6e863d65566b0675adec9913f4a4_cHlhc24xL2NvZGVjL2Jlci9kZWNvZGVyLnB5 100644
--- a/pyasn1/codec/ber/decoder.py
+++ b/pyasn1/codec/ber/decoder.py
@@ -139,10 +139,11 @@
             if isinstance(chunk, SubstrateUnderrunError):
                 yield chunk
 
-        if not chunk:
-            yield self._createComponent(asn1Spec, tagSet, 0, **options)
-
-        value = from_bytes(chunk, signed=True)
+        if chunk:
+            value = from_bytes(chunk, signed=True)
+
+        else:
+            value = 0
 
         yield self._createComponent(asn1Spec, tagSet, value, **options)