diff --git a/src/Network/http/PropertyUriHandler.cxx b/src/Network/http/PropertyUriHandler.cxx
index 01b28c0f2..74d4eaf2b 100644
--- a/src/Network/http/PropertyUriHandler.cxx
+++ b/src/Network/http/PropertyUriHandler.cxx
@@ -158,7 +158,26 @@ static DOMElement * renderPropertyValueElement( SGPropertyNode_ptr node )
 
     DOMNode * root;
 
-    if( len < 60 ) {
+    if( node->getType() == simgear::props::BOOL ) {
+        root = new DOMNode( "span" );
+
+        root->addChild( new DOMNode("span"))->addChild( new DOMTextElement("true") );
+        DOMNode * radio = root->addChild(new DOMNode( "input" ))
+          ->setAttribute( "type", "radio" )
+          ->setAttribute( "name", node->getDisplayName() )
+          ->setAttribute( "value", "true" );
+        if( node->getBoolValue() )
+          radio->setAttribute( "checked", "checked" );
+
+        root->addChild( new DOMNode("span"))->addChild( new DOMTextElement("false") );
+        radio = root->addChild(new DOMNode( "input" ))
+          ->setAttribute( "type", "radio" )
+          ->setAttribute( "name", node->getDisplayName() )
+          ->setAttribute( "value", "false" );
+        if( !node->getBoolValue() )
+          radio->setAttribute( "checked", "checked" );
+
+    } else if( len < 60 ) {
         root = new DOMNode( "input" );
         root->setAttribute( "type", "text" );
         root->setAttribute( "name", node->getDisplayName() );