diff --git a/rust/bt-common/src/packet_encoding.rs b/rust/bt-common/src/packet_encoding.rs
index 10058b8..3667ee1 100644
--- a/rust/bt-common/src/packet_encoding.rs
+++ b/rust/bt-common/src/packet_encoding.rs
@@ -26,8 +26,8 @@
     fn encode(&self, buf: &mut [u8]) -> ::core::result::Result<(), Self::Error>;
 }
 
-/// Generates an enum value where each variant can be converted into a constant in the given
-/// raw_type.
+/// Generates an enum value where each variant can be converted into a constant
+/// in the given raw_type.
 ///
 /// For example:
 /// decodable_enum! {
@@ -126,4 +126,7 @@
 
     #[error("Unrecognized type for {0}: {1}")]
     UnrecognizedType(String, u8),
+
+    #[error("Uuid parsing error: {0}")]
+    Uuid(uuid::Error),
 }
diff --git a/rust/bt-common/src/uuids.rs b/rust/bt-common/src/uuids.rs
index bb7c0d0..f640805 100644
--- a/rust/bt-common/src/uuids.rs
+++ b/rust/bt-common/src/uuids.rs
@@ -72,10 +72,19 @@
 }
 
 impl core::str::FromStr for Uuid {
-    type Err = uuid::Error;
+    type Err = crate::packet_encoding::Error;
 
     fn from_str(s: &str) -> core::result::Result<Uuid, Self::Err> {
-        uuid::Uuid::parse_str(s).map(|uuid| Uuid(uuid))
+        if s.len() == 4 || s.len() == 6 {
+            return match u16::from_str_radix(&s[s.len() - 4..], 16) {
+                Ok(short) => Ok(Uuid::from_u16(short)),
+                Err(_) => Err(crate::packet_encoding::Error::InvalidParameter(s.to_owned())),
+            };
+        }
+        match uuid::Uuid::parse_str(s) {
+            Ok(uuid) => Ok(Uuid(uuid)),
+            Err(e) => Err(crate::packet_encoding::Error::Uuid(e)),
+        }
     }
 }
 
@@ -258,4 +267,17 @@
 
         assert_eq!(test_map.get(&Uuid::from_u16(0x1234)).unwrap().name, "Test 2");
     }
+
+    #[test]
+    fn parse() {
+        assert_eq!("1814".parse(), Ok(Uuid::from_u16(0x1814)));
+        assert_eq!("0x2a79".parse(), Ok(Uuid::from_u16(0x2a79)));
+        let unknown_long_uuid = "2686f39c-bada-4658-854a-a62e7e5e8b8d";
+        assert_eq!(
+            unknown_long_uuid.parse(),
+            Ok::<Uuid, crate::packet_encoding::Error>(
+                uuid::Uuid::parse_str(unknown_long_uuid).unwrap().into()
+            )
+        );
+    }
 }
