diff --git a/sm/CMakeLists.txt b/sm/CMakeLists.txt
index 87a88188631435204ffa20c297e5316e50690e1a..afc1f3c4b69670fd7b2ebd1585f560dd40ca9bf3 100644
--- a/sm/CMakeLists.txt
+++ b/sm/CMakeLists.txt
@@ -204,17 +204,6 @@ INSTALL(PROGRAMS hsm_test00 DESTINATION bin)
 
 ENDIF(COMPILE_HSM)
 
-IF(COMPILE_STRUCTPRIOR)
-
-INCLUDE_DIRECTORIES(/sw/include)
-LINK_DIRECTORIES(/sw/lib)
-
-ADD_EXECUTABLE(structprior ./csm/structprior/structprior_test.cpp)
-	TARGET_LINK_LIBRARIES(structprior csm-static)
-INSTALL(PROGRAMS structprior DESTINATION bin)
-
-ENDIF(COMPILE_STRUCTPRIOR)
-
 
 SUBDIRS(pkg-config)
 
diff --git a/sm/lib/json-c/json_more_utils.c b/sm/lib/json-c/json_more_utils.c
index 09ea3985e1b08a726e56450bceab278681148cdc..d714dafcfdbe88f03a16907b1a45977d74e4721a 100644
--- a/sm/lib/json-c/json_more_utils.c
+++ b/sm/lib/json-c/json_more_utils.c
@@ -257,6 +257,9 @@ int jo_read_int(JO jo, const char*name, int*p) {
 double convert_to_double(JO jo) {
 	if(json_object_is_type(jo, (enum json_type) json_type_double)) 
 		return json_object_get_double(jo);
+	else if(json_object_is_type(jo, (enum json_type) json_type_int)) {
+		return json_object_get_int(jo);
+	}
 	else 
 		return NAN;
 }
diff --git a/sm/lib/json-c/json_more_utils.h b/sm/lib/json-c/json_more_utils.h
index 2fc6c6ac4981cf3adc2739bda5d590dddcf16e19..385ed818adb0a3329011ac88c05e68f92199f88a 100644
--- a/sm/lib/json-c/json_more_utils.h
+++ b/sm/lib/json-c/json_more_utils.h
@@ -44,6 +44,7 @@ void jo_add_string       (JO parent, const char*name, const char*v);
 
 /** Return 0 if there isn't a field called 'name' */
 int jo_read_int          (JO parent, const char*name, int*p) ;
+/** This also tolerates an integer */
 int jo_read_double       (JO parent, const char*name, double*p);
 
 /* Returns 0 if there isn't a field called "name", or it's not an array, or